Форум 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)
-   -   Стрельба из пушки (cannon) (http://www.flasher.ru/forum/showthread.php?t=112910)

maldude 11.06.2008 19:49

Стрельба из пушки (cannon)
 
Здраствуйте, такой вопрос:
Как сделать стрельбу из пушки чтобы на пулю действовала сила гравитации? Вот как сдесь

Ostgur 11.06.2008 22:18

первый пример смотрите

maldude 12.06.2008 11:37

Что то мне непомогло :((

Там с двумя телами, и толком непонятно как указать вектор ускорения.... А у вас случайно нет примера такой програмы?

Psycho Tiger 12.06.2008 13:41

Логика:
Заводим переменную ymov
В каждом кадре _y клипа += ymov
После этого в каждом кадре ymov+=1 (1 - гравитация)
При выстреле ymov=-20 (ибо координаты первернуты по отношению к декартовым) 20 - начальная сила выстрела.

maldude 12.06.2008 14:13

ну это ведь только гравитация... а как сделать чтобы он летел куда то как в этой игре

Psycho Tiger 12.06.2008 20:23

Его скорость по _х не изменяется.
Прибавь к той логике сверху _x+=xmov в каждом кадре.
Как крутить голову:
Рисуем прямоугольный треугольник, один катет ymov, другой xmov. Нам нужен тангенс угла, значит
Код:

Math.atan2(ymov,xmov)*180/Math.Pi

vitlance 12.06.2008 22:57

Код:

gravity = 3;
bullet.vector = {x:0,y:0};
onEnterFrame = function() {
                bullet._x += bullet.vector.x;
                bullet._y -= bullet.vector.y;
                bullet.vector.x *= .96;
                bullet.vector.y *= .96;
                bullet.vector.y -= gravity;
                bullet._rotation = Math.atan2(bullet.vector.x, bullet.vector.y)/(Math.PI/180);
}
// Сообщаем любой вектор
bullet.onRelease = function () {
        bullet.vector = {x:-20,y:10};
};


Psycho Tiger 13.06.2008 14:25

Пардон, не согласен.
Код:

bullet._rotation = Math.atan2(bullet.vector.x, bullet.vector.y)/(Math.PI/180);
Math.atan2(y,x) - значит,
Код:

Math.atan2(bullet.vector.y,bullet.vector.x);


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

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