Форум 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)
-   -   Прыжок. (http://www.flasher.ru/forum/showthread.php?t=98510)

Gh >k 14.07.2007 22:58

Прыжок.
 
Привет.
Я сделал уровень (стены и платформы и т.д.), и сделал прыжок главного героя, он прыгает, и постепенно замедляется и летит вниз, проблема в следующем:
Когда он достигает предела, он падает вниз с ускорением, и "пробивает пол".Никак непойму, почену он не летит вниз со скоростью гравитации.
Ну он летит вниз со скоростьб гравитации, но когда держишь "прыжок" его падение ускоряется. Посмотрел код, вроде недолжнобыть так.
currentjumppower - текушее состояние силы прыжка
jumppower - начальное состояние силы прыжка
bd - ролик-главный герой
jump-может ли перейдти в режим прыжка
prijok-находится ли в состоянии прыжка
bu,bc,bl,br - остальные части клипа-героя
level - уровень (стены и т.д.)
Код:

onEnterFrame = function ():Void {
        if (Key.isDown(Key.SPACE)) {
                if (cuurenjumppower>=0) {
                        if (jump == true) {  //может ли прыгнуть
                                prijok = true;
                        }
                        if (prijok == true) {  //если в режиме прыжка
                                _root._y += currentjumppower;
                                br._y -= currentjumppower;
                                bl._y -= currentjumppower;
                                bu._y -= currentjumppower;
                                bd._y -= currentjumppower;
                                bc._y -= currentjumppower;
                                currentjumppower -= 1;
                        }
                } else {  //если сила кончилась
                        prijok = false;
                        jump = false;
                }
        }
        if (!hit(bd, level)) { //если ролик не приземлилися
                _root._y -= gravity;
                bc._y += gravity;
                bu._y += gravity;
                bd._y += gravity;
                br._y += gravity;
                bl._y += gravity;
        } else {//если ролик приземлилися
                jump = true;
                currentjumppower = jumppower;
                prijok = false;
        }
};

Если есть способ попроще, подскажите пожалуйста, я ничего проще не придумал.
Пожалуйста не надо плюс за оформление кода, никак невъехал как его офрмить!! Никак неполучается((((
Подскажите и оформление, на примере в кавычках, ато невъезжаю.

Therion 14.07.2007 23:10

у тебя помоему опечатка
Код:

onEnterFrame = function ():Void {
if (Key.isDown(Key.SPACE)) {
if (cuurenjumppower>=0) {
if (jump == true) { //может ли прыгнуть
prijok = true;
}
...........

я думаю там должно стоять всётаки currentjumppower

Gh >k 15.07.2007 00:35

О спасибо баоьшое, как я незаметил ) но это только 1 ошибка (
Исправил, но всёравно таже ситуация.

udaaff 15.07.2007 01:21

Цитата:

Пожалуйста не надо плюс за оформление кода, никак невъехал как его офрмить!! Никак неполучается((((
Подскажите и оформление, на примере в кавычках, ато невъезжаю.
жми на "расширенный режим" -- там все просто и понятно

Gh >k 15.07.2007 07:16

Код:

Я просто пробую
О получилось спасибо.
Пожалуйста, кому невлом, напишите код прыжка!!

Gh >k 16.07.2007 07:24

Всё, уже получилось, можно закрыть тему.


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

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