Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.11.2012, 20:18
lammer.Ok вне форума Посмотреть профиль Отправить личное сообщение для lammer.Ok Найти все сообщения от lammer.Ok
  № 1  
Ответить с цитированием
lammer.Ok

Регистрация: Nov 2012
Сообщений: 55
По умолчанию Стрельба по параболе

Привет всем. Я хотел бы сделать стрельбу из пушки, чтобы ядро летело по параболической траектории, так как на картинке, помогите с формулой, что-то ничего в голову не лезит.
Изображения
 


Последний раз редактировалось lammer.Ok; 17.11.2012 в 20:42.
Старый 18.11.2012, 00:26
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 2  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Код AS1/AS2:
var gravity = 2;
var bullet = container.attachMovie(...)
bullet.vx = 10;
bullet.vy = -10;
 
...
 
bullet.vy += gravity;
bullet._x += bullet.vx;
bullet._y += bullet.vy;
Так сойдет? Или подробнее объяснить?
__________________
hauts.ru

Старый 18.11.2012, 00:36
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 3  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Hauts,

А где матан?
__________________
Дети не должны знать о своих родителях

Старый 18.11.2012, 00:45
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 4  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Хм. Ок.

Даны параметры:

x - координата x выстрела
y - координата y выстрела
speed - начальная скорость снаряда
angle - угол выстрела в радианах
gravity - сила гравитации

Исходя из этого, рассчитываем компоненты вектора движения:

vx = speed * Math.cos(angle)
vy = speed * Math.sin(angle)

Где vx и vy - это, грубо говоря, насколько мы будем сдвигать снаряд при каждом обновлении его положения без учета гравитации.

Теперь к действиям. Создаем снаряд, мувиклип. Устанавливаем ему положение в x и y. Записываем ему его vx и vy. Потом, в методе обновления положения снаряда, при каждом обновлении, прибавляем к его координатам его vx и vy. Если вспомнить физику и пренебречь сопротивлением воздуха, то остается только "подправлять" vy с учетом гравитации.

Код AS1/AS2:
bullet.vy += gravity;
bullet._x += bullet.vx;
bullet._y += bullet.vy;
__________________
hauts.ru

Старый 18.11.2012, 17:33
lammer.Ok вне форума Посмотреть профиль Отправить личное сообщение для lammer.Ok Найти все сообщения от lammer.Ok
  № 5  
Ответить с цитированием
lammer.Ok

Регистрация: Nov 2012
Сообщений: 55
Hauts, спасибо. Но эти элементарные вещи я и сам знаю. Просто хочу реализовать стрельбу такую как в этой игре http://www.vipigry.ru/flash/ognennaya-zombuka-2, видно, что там стрельба немного иначе реализована, возможно используется механика, по-этому если не трудно можете ещё пару вариантов подкинуть)

Старый 18.11.2012, 17:56
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 6  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
В той игре используется физический движок. Выстрел происходит так:
  1. Находим дистанцию от игрока до мышки, это есть сила вектора.
  2. Строим вектор, имея угол и длину.
  3. Прикладываем вектор как импульс к снаряду.

Вектор обычно представляют из двух значений, x и y координаты второй точки. (Первая x=0, y=0)
__________________
Дети не должны знать о своих родителях

Старый 18.11.2012, 18:00
lammer.Ok вне форума Посмотреть профиль Отправить личное сообщение для lammer.Ok Найти все сообщения от lammer.Ok
  № 7  
Ответить с цитированием
lammer.Ok

Регистрация: Nov 2012
Сообщений: 55
Tails, о, спасибо )) Буду реализовывать, вроде не сложно всё. Позже покажу, что вышло.

Старый 18.11.2012, 18:09
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 8  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Способ который я описал, используется в физических движках, то есть вам сперва нужно скачать один из них.

Если вы хотите сымитировать выстрел своими силами, тогда нужно будет высчитывать смещение самостоятельно. Например как написал Hauts
__________________
Дети не должны знать о своих родителях

Старый 18.11.2012, 18:16
lammer.Ok вне форума Посмотреть профиль Отправить личное сообщение для lammer.Ok Найти все сообщения от lammer.Ok
  № 9  
Ответить с цитированием
lammer.Ok

Регистрация: Nov 2012
Сообщений: 55
Tails. Да, хочу своими силами, чтобы вспомнить немного матан. Понял, ну как-то просто всё))
А как вы смотрите если использовать уравнение движения тела, брошенного под углом к горизонту ?:

vx = v * t * Math.cos(a) ;
vy = v * t * Math.sin(a) - (g * (t*t) / 2);

v - начальная скорость
t - время движения
а - угол
g - ускорение свободного падения 9.81 (м/c2)


Последний раз редактировалось lammer.Ok; 18.11.2012 в 18:28.
Старый 18.11.2012, 18:43
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 10  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Цитата:
В той игре используется физический движок.
Не думаю, что то, что там используется можно назвать физическим движком.

Элементарная же механика, причем очень похожая на то, что я описал.
__________________
hauts.ru

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:35.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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