Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Плавный прыжок при нажатии SPACEBAR (http://www.flasher.ru/forum/showthread.php?t=103398)

Dr.XxX 04.11.2007 21:07

Плавный прыжок при нажатии SPACEBAR
 
Вот у меня проблема, как реализовать плавный прыжок MovieClipa.
Я понимаю надо делать так, прибавляем постепенно y до определённой отметки и потом опускаем на столько же на сколько прибавили,но как это сделать плавно ?
Код:

if(Key.isDown(Key.SPACE))
{
_root.myobject._y+=1; и так до +200
потом отнемаем плавно -1;
}

Но как слелать чтобы плавно ? циклом пробывал не идёт ...

Ostgur 04.11.2007 21:52

Вложений: 1
качай

D12 04.11.2007 21:52

Код:

var H:Number = 30;
var G:Number = 1;
var speed:Number = -H;
myobject.onEnterFrame = function() {
        if (Key.isDown(Key.UP) || (!Key.isDown(Key.UP) && speed>-H)) {
                this._y += speed;
                speed += G;
                if (speed>H) {
                        speed = -H;
                }
        }
};

Ну где-то так, вроде как на 200 прыгает, а для чего вам это ? ведь это всё образно, есть ньюансы

drf 04.11.2007 23:01

по синусоидальной зависимости

Dr.XxX 05.11.2007 00:11

D12 хочу вот игрушку сделать =)

D12 05.11.2007 00:13

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

Dr.XxX 05.11.2007 00:31

различные плоскости на разных высотах

D12 05.11.2007 00:39

Вложений: 1
ууу... тогда все прыжки данные выше отпадают, для остравков они негодятся,
картинка статичная или планируется скроллинг уровня?
покажи эскиз к чему ты стремишся ?

Вот держи прыжок по твоим задачам

drf 05.11.2007 00:55

Код:

shadowJump = true; pozY = heroShadow._y; score = scoreStar = 0;
speed = 3;speedVert = 1;count = 0; pozY = heroShadow._y;
timer = 60;countStar = 0;speedShadow = 9;xx = -3.14;
heroShadow.onEnterFrame = function () {
        if (shadowJump) {                shadowFly ();        }
};
shadowFly = function () {
        xx += 0.04;        sinus = Math.cos (xx);
        heroShadow._y += (speedShadow * sinus);
        if (xx > 0) {
                shadowJump = false;        heroShadow._y = pozY;
        }
};
but.onPress = function () {
        shadowJump = true;        xx = -3.14;
};



маи экспирименты с прыжками
коментить не буду

koIIImarik 05.11.2007 03:27

Если всё ещё актуально
 
На мой взгляд лучше использовать класс Tween.
Описание и исходники можете посмотреть тут
Вот ссылка на пример

PeTa4eK 05.11.2007 08:56

Зачем так парится если все просто!?
Вот!
Код:

var ySpeed = 3;//скорость которая отпускает мув вниз
var jump = true;//прыжок(вкл или выкл)
var strengthJump = 10;//сила прыжка
onEnterFrame = function() {
        ySpeed++;//к ySpeed прибаляем по 1
        cube._y += ySpeed;//к Y мува прибавляем ySpeed
        if(cube._y >= 300 ) {//если мув опустился ниже границ экрана
                cube._y = 300;//ставим его в эти кординаты
                jump = false;//отключуем прыжок
        }
        if(Key.isDown(Key.SPACE) && jump == false) {//если жмем пробел и прыжок выкл(чтобы в воздухе не прыгать)
                jump = true;//включаем прыжок
                ySpeed =-strengthJump;//ySpeed равно отрицательному strengthJump
        }
}

Надо создать флеху с шириной 200 а высотой 300
cube это твой мувик
strengthJump это сила прыжка
кстати
Код:

if(cube._y >= 300 ) {//300 это высота твоего ролика(чтобы он не упал далеко вниз
        cube._y = 300;//ставим его в эти кординаты
        jump = false;//отключуем прыжок
}

как понял 300 это высота твоего ролика

D12 05.11.2007 22:59

KoIIImarik класс твин это анимация, прыжок это математика =) если плоскость подразумевается одна то сгодится и твин, если подразумевается много плоскостей то твин непрокатит, ведь прыгая с верхней плоскасти на нижнюю класс твин закончит свою анимацию куда раньше :)


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

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