Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Движение персонажа по кривой (http://www.flasher.ru/forum/showthread.php?t=182863)

dedede777 05.08.2012 01:17

Движение персонажа по кривой
 
Не получается сделать движения персонажа по кривой на as3, смотрел видео как делают на as2, а на as3 так не получается из того, что хит тест команда не поддерживается, а объект обводит в рамку

strangedk 05.08.2012 01:30

Здесь что-то было
http://www.flasher.ru/forum/showthread.php?t=173139
http://www.flasher.ru/forum/showthread.php?t=182863

NikolyA 05.08.2012 01:35

а показать код который не получается - можно?

saikspaik 05.08.2012 10:28

В AS3 есть hitTestPoint и hitTestObject.

dedede777 06.08.2012 06:41

это не то, там он не просто идет по анимационном пути, хочется, что б он клавишами управлялся

Добавлено через 14 минут
Цитата:

В AS3 есть hitTestPoint и hitTestObject
Я знаю, но hitTestObject проверяет на столкновение объекты между прямоугольными рамками объектов, а hitTestPoint анологичен hitTest на AS2 или нет? Как его правильно прописать?

dedede777 06.08.2012 08:42

Вложений: 1
Цитата:

а показать код который не получается - можно?
Код AS3:

import flash.display.MovieClip;
import flash.events.KeyboardEvent;
import flash.events.Event;
 
var kvadrat:MovieClip= new kv;
 
 
 
var verh:Boolean=false;
var vniz:Boolean=false;
var vlevo:Boolean=false;
var vpravo:Boolean=false;
 
var jamping:Boolean=false;
 
var power:Number=7;
var grav:Number=0;
var r:Number=kvadrat.height/2;
var jampingh:Number=12;
 
kvadrat.x=300;
 
 
 
addChildAt(kvadrat,0);
 
stage.addEventListener(KeyboardEvent.KEY_DOWN,najat);
stage.addEventListener(KeyboardEvent.KEY_UP,otjat);
stage.addEventListener(Event.ENTER_FRAME, ef);
 
function najat (e:KeyboardEvent):void
{  trace(e.keyCode);
        if (e.keyCode == 37)
        {
                vlevo=true;
        }
        if (e.keyCode == 39)
        {
                vpravo = true;
        }
        if (e.keyCode == 38)
        {
                verh = true;
        }
        if (e.keyCode == 40)
        {
                vniz = true;
        }
}
function otjat(e:KeyboardEvent):void
{
 
        if (e.keyCode == 37)
        {
                vlevo = false;
 
 
 
 
        }
        if (e.keyCode == 39)
        {
                vpravo = false;
 
 
        }
        if (e.keyCode == 38 )
        {
                verh = false;
 
 
        }
        if (e.keyCode == 40)
        {
                vniz = false;
 
 
        }
}
function ef (e:Event):void
{
        kvadrat.y+=grav;
    if (vlevo)
    {
        kvadrat.x-=power;
    }
        if (vpravo)
    {
        kvadrat.x+=power;
    }
        if (vniz)
    {
        kvadrat.y+=power;
    }
 
        if (verh && !jamping )
    {
        grav=-jampingh;
        jamping=true;
    }
 
if (!zem1.hitTestPoint(kvadrat.x, kvadrat.y, true))
                        {
                                grav++;
                                kvadrat.y+=grav;
                                trace("kontakt");
                        }
                        else {
 
                        grav = 0;
                        jamping=false;
                            }
while(zem1.hitTestPoint(kvadrat.x, kvadrat.y-1+r, true))
{kvadrat.y--;
jamping=false;
}
}


dedede777 06.08.2012 08:50

мячик прыгает, движется, но нету соприкосновения нормального, то проваливается в землю то резко появляется где то дальше

Добавлено через 3 часа 50 минут
Может кто знает как сделать подобную задачу по другому?

saikspaik 06.08.2012 12:58

Цитата:

Сообщение от dedede777 (Сообщение 1091112)
Как его правильно прописать?

http://help.adobe.com/ru_RU/FlashPla...#hitTestPoint()

dedede777 06.08.2012 13:26

Спасибо за справку, но она мне к сожалению не поможет


Часовой пояс GMT +4, время: 16:55.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.