Форум 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=199773)

Poverb 24.05.2013 12:14

Флеш игра бейсбол. Помощь в реализации.
 
Нужно создать вот эту игру!
http://www.youtube.com/watch?v=ku7udGuTwwg
Все звуки текстуры у меня есть. Игра должна работать точно как на видео. Я вот не знаю с чего начать и как мне это реализовать. Может кто то чем может помочь. Там алгоритм движения мяча. Или исходник похожой игры.
Не знаю от чего отталкиваться.

Zebestov 24.05.2013 13:12

Если ты программист, который владеет ActionScript 2.0, что именно вызывает трудности?
Если ты только начинаешь изучать flash, почему не ActionScript 3.0?

Poverb 24.05.2013 13:14

Только начал изучать флешь, я думал что на ActionScript 2.0 будет проще.

Zebestov 24.05.2013 13:17

Не думаю, что будет проще.
Для изучения же ActionScript 3.0 все рекомендуют эту книгу.

NikolyA 24.05.2013 14:32

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

Zebestov 24.05.2013 14:48

Я думаю тут речь больше о формулах. А это уже как бы физика из школьной программы:

0. принимаем координатную систему с осью X вправо и осью Y вверх. вспоминаем ускорение свободного падения
Код AS3:

const G:Number = -9.81; // минус, бо вниз

1. задаем угол и скорость
Код AS3:

var angle:Number = 30; // градусов
var speed:Number = 50; // метров в секунду

2. раскладываем скорость на составляющие по осям X и Y
Код AS3:

var speedX:Number = speed * Math.cos(Math.PI / 180 * angle);
var speedY:Number = speed * Math.sin(Math.PI / 180 * angle);

3. узнаем, где находится мяч в любое время t
Код AS3:

var x:Number = speedX * t;
var y:Number = speedY * t + G * t * t / 2;

Ну вот как бы и вся теория.
В каждом кадре прибавляешь к текущему значению t величину 1 / stage.frameRate и вычисляешь текущие (x, y). Когда y станет меньше либо равен нулю — приземлились!
Ну и при отображении не забываем, что система координат flash осью Y направлена вниз.

Poverb 24.05.2013 22:09

Цитата:

Сообщение от Zebestov (Сообщение 1134654)
Я думаю тут речь больше о формулах. А это уже как бы физика из школьной программы:

0. принимаем координатную систему с осью X вправо и осью Y вверх. вспоминаем ускорение свободного падения
Код AS3:

const G:Number = -9.81; // минус, бо вниз

1. задаем угол и скорость
Код AS3:

var angle:Number = 30; // градусов
var speed:Number = 50; // метров в секунду

2. раскладываем скорость на составляющие по осям X и Y
Код AS3:

var speedX:Number = speed * Math.cos(Math.PI / 180 * angle);
var speedY:Number = speed * Math.sin(Math.PI / 180 * angle);

3. узнаем, где находится мяч в любое время t
Код AS3:

var x:Number = speedX * t;
var y:Number = speedY * t + G * t * t / 2;

Ну вот как бы и вся теория.
В каждом кадре прибавляешь к текущему значению t величину 1 / stage.frameRate и вычисляешь текущие (x, y). Когда y станет меньше либо равен нулю — приземлились!
Ну и при отображении не забываем, что система координат flash осью Y направлена вниз.

Большое спасибо, вы мне очень помогли. Начинаю читать книгу:)

Добавлено через 17 часов 31 минуту
Не чего не получается. Как сделать что б мяч летел в верх а потом плавно опускался?
Код AS3:

var speedX:Number = speed * Math.cos(Math.PI / 180 * angle);
var speedY:Number = speed * Math.sin(Math.PI / 180 * angle);

Ведь благодаря этому он просто летит в перёд и верх...

Zebestov 25.05.2013 17:00

Цитата:

Сообщение от Poverb (Сообщение 1134718)
Ведь благодаря этому он просто летит в перёд и верх...

Совершенно верно.
Ээх, прокачать бы тебе усидчивость и наблюдательность! Только представь: можно было бы таки дочитать мои инструкции до конца и не вырывать подготовительные вычисления из контекста.

Poverb 25.05.2013 17:03

Цитата:

Сообщение от Zebestov (Сообщение 1134784)
Совершенно верно.
Ээх, прокачать бы тебе усидчивость и наблюдательность! Только представь: можно было бы таки дочитать мои инструкции до конца и не вырывать подготовительные вычисления из контекста.

Движение мяча настроил. Плавно взлетает и плавно опускается. А как можно сделать шкалу что б предавать параметры при нажатии кнопки зависимости от показателя шкалы как на видео?

Poverb 26.05.2013 00:31

Вложений: 1
Всем спасибо за помощь игра окончена:) Тему можно закрыть.
Untitled-1.swf   (157.7 Кб)

PS:
1) spase
2) ALT


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

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