небольшой проектик - программист, можно и художник.
|
|
ApuoH | Дата: Понедельник, 17 Марта 2014, 13:46 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| Собственно танчики:
исходники в принципе могу оставить открытыми. анимации и картинки сам порисую. часть программного кода тоже, но к сожалению в отдельных вопросам программирования не сведущ потому с кем-то в команде. при желании можно и импортировать игру на андройд.
желательно в actionscript 3.0 классы понимаю поверхностно.
Собственно то что должно получиться:
тут нет газона, воды, льда, бетонной стены - картинки 24х24px
Сообщение отредактировал ApuoH - Понедельник, 17 Марта 2014, 16:00 |
|
| |
Astralangel | Дата: Понедельник, 17 Марта 2014, 14:29 | Сообщение # 2 |
STF Games
Сейчас нет на сайте
| Цитата ApuoH ( ) при желании можно и импортировать игру на андройд. Нет, не стоит. Лучше попробовать сделать все самому, так как такой проект не будет успешен ни в каком проявлении, но для опыта, самое оно. PS: https://play.google.com/store/search?q=%D0%A2%D0%B0%D0%BD%D1%87%D0%B8%D0%BA%D0%B8
Весь мир театр, все люди в нем актеры и каждый не одну играет роль (с) Шекспир
|
|
| |
ApuoH | Дата: Понедельник, 17 Марта 2014, 14:45 | Сообщение # 3 |
почетный гость
Сейчас нет на сайте
| есть некоторые ньюансы. как например притормаживание графики при поворотах.
реализовано в классе с помощью rotation. Учитывая что графика весит минимум. Конечно можно было сделать наподобие tank.gotoAndStop(1); или tank.gotoAndStop(2); и т.д. Переключая нас по отдельным кадрам анимации. Не знаю лучше от этого будет или нет.
Код public function every_frame(event:Event) { switch (key_press) { case 37 : tank.x -= speed; tank.rotation = -90; break;
case 38 : tank.y -= speed; tank.rotation = 0; break;
case 39 : tank.x += speed; tank.rotation = 90; break;
case 40 : tank.y += speed; tank.rotation = 180; break; } }
|
|
| |
Vicka | Дата: Понедельник, 17 Марта 2014, 15:03 | Сообщение # 4 |
Another ART
Сейчас нет на сайте
| Цитата ApuoH ( ) как например притормаживание графики при поворотах. ты имеешь ввиду прокрутку анимации?
|
|
| |
ApuoH | Дата: Понедельник, 17 Марта 2014, 15:58 | Сообщение # 5 |
почетный гость
Сейчас нет на сайте
| Цитата Neia ( ) ты имеешь ввиду прокрутку анимации? имеется ввиду когда нажимается клавиша. Происходит запрос данного события, что клавиша нажата и мы поворачиваем наш танк в нужную сторону. если нажимает опять ту же клавишу он продолжит движение в том же направлении. вот когда быстро двигать танк по полю и происходит это торможение.
|
|
| |
SR000 | Дата: Понедельник, 24 Марта 2014, 10:49 | Сообщение # 6 |
был не раз
Сейчас нет на сайте
| В чем игру делаешь? Графика я так понял векторная, зачем? Делай растровый холст с танками развернутыми во все положения + туда же отдельной строчкой вставь кирпичики и все значки интерфейса. Про мувиклипы вообще забудь, это ересь. Работай с bitmapData.copyPixels
|
|
| |
Go_Ram | Дата: Понедельник, 24 Марта 2014, 20:02 | Сообщение # 7 |
частый гость
Сейчас нет на сайте
| Как будет работать ИИ?
|
|
| |
ApuoH | Дата: Вторник, 25 Марта 2014, 01:31 | Сообщение # 8 |
почетный гость
Сейчас нет на сайте
| Цитата SR000 ( ) В чем игру делаешь? Графика я так понял векторная, зачем? Делай растровый холст с танками развернутыми во все положения + туда же отдельной строчкой вставь кирпичики и все значки интерфейса. Про мувиклипы вообще забудь, это ересь. Работай с bitmapData.copyPixels игру во flasg - AS3.0 графика обычный фотошоп.
Цитата Go_Ram ( ) Как будет работать ИИ? будет работать по принципу если видет цель и растояние соблюдено идет к цели. конечная цель наш герб его и будем охранять.
|
|
| |
Go_Ram | Дата: Вторник, 25 Марта 2014, 09:24 | Сообщение # 9 |
частый гость
Сейчас нет на сайте
| Цитата будет работать по принципу если видет цель и растояние соблюдено идет к цели.
А так будут ездить и стрелять как в танчиках на денди, в случайном порядке? И если будет рядом цель, то двигаться к цели. еще хорошо бы сделать если по прямой видимости на расстоянии например 6 блоков сзади танк противника то тоже разворачиваться, так как лгко будет сзади убивать танки
|
|
| |
SR000 | Дата: Вторник, 25 Марта 2014, 12:57 | Сообщение # 10 |
был не раз
Сейчас нет на сайте
| Тогда проблема с дерганным движением одна, и решается легко, следи за логикой: 1) У танка есть 2 переменных, в одной записана сторона движения, во второй булево значение - едет он, или не едет. 2) Нужно создать 3 слушателя в классе, там где будут созданы все танки: нажатие клавиатуры, отпуск клавиатуры, смена кадра 3) При нажатии клавиатуры проверять нажатую клавишу, и если это одна из стрелок, то передавать танку 2 переменных: направление и танк едет. 4) При отпуске клавиатуры, проверять - едет ли танк? если да, то проверить соответствует ли отпущенная клавиша направлению танка, если да - то передать в танк 1 переменную - танк не едет. 5) В хандлере смены кадра вызывать метод update() танка игрока. 6) В классе танка в update() делать проверку, едет ли танк? если да то двигать его в зависимости от направления. Танк должен ездить плавно
|
|
| |
ApuoH | Дата: Среда, 26 Марта 2014, 06:48 | Сообщение # 11 |
почетный гость
Сейчас нет на сайте
| сова вместо орла)
или так
или так
Добавлено (26.03.2014, 06:48) --------------------------------------------- сюда мы его посадим, точнее ее
Сообщение отредактировал ApuoH - Среда, 26 Марта 2014, 07:06 |
|
| |
SR000 | Дата: Четверг, 27 Марта 2014, 23:15 | Сообщение # 12 |
был не раз
Сейчас нет на сайте
| Ну что, когда демку запилишь?
|
|
| |
ApuoH | Дата: Пятница, 04 Апреля 2014, 19:21 | Сообщение # 13 |
почетный гость
Сейчас нет на сайте
| Цитата SR000 ( ) Ну что, когда демку запилишь? еще пока не начинал. сайтом занялся, выполняю как тест. так одному программеру написал если гуд совместно поделаем.Добавлено (04.04.2014, 19:21) --------------------------------------------- вот что получается, но это пока в плане графики. программную часть взялся один с участников форума.
Сообщение отредактировал ApuoH - Суббота, 29 Марта 2014, 04:24 |
|
| |
b_ear | Дата: Пятница, 04 Апреля 2014, 21:47 | Сообщение # 14 |
Покорители космоса
Сейчас нет на сайте
| как я всегда говорю, в любом деле главное начать)) успехов в проекте!
|
|
| |
ApuoH | Дата: Суббота, 05 Апреля 2014, 03:15 | Сообщение # 15 |
почетный гость
Сейчас нет на сайте
| тестируем взрыв.
Цитата b_eat ( ) как я всегда говорю, в любом деле главное начать)) успехов в проекте! спс
|
|
| |
aalla | Дата: Суббота, 05 Апреля 2014, 04:00 | Сообщение # 16 |
постоянный участник
Сейчас нет на сайте
| эм.. а на haxe не проще было писать сразу? Отличий мало, зато платформ много.
|
|
| |
ApuoH | Дата: Воскресенье, 06 Апреля 2014, 00:06 | Сообщение # 17 |
почетный гость
Сейчас нет на сайте
| Цитата aalla ( ) эм.. а на haxe не проще было писать сразу? Отличий мало, зато платформ много. может быть. Но я незнаю.
Вообщем программист оказался очень занятым. Так что кто хочет по кодить велком. В принципе и сам могу, но в кадрах.
|
|
| |
aalla | Дата: Воскресенье, 06 Апреля 2014, 04:22 | Сообщение # 18 |
постоянный участник
Сейчас нет на сайте
| бери сам в руки flashpunk и вперед)
|
|
| |
ApuoH | Дата: Воскресенье, 06 Апреля 2014, 21:08 | Сообщение # 19 |
почетный гость
Сейчас нет на сайте
| Цитата aalla ( ) бери сам в руки flashpunk и вперед) я имел ввиду правильный код, а не собирать игру с кусков скриптов который потом тяжко будет править. Добавлено (06.04.2014, 21:08) --------------------------------------------- вот тут добавляем танк на сцену, а также описаны функции управления. как видим код получается громоздким. Хотя тут даже и половины не описано.
Код package new_proect
{ import flash.display.*; import flash.events.*; public class Main extends Sprite { // make variable to store key state var kUp = false; var kDown = false; var kLeft = false; var kRight = false; var speed_t = 5; var tank = new Hero ;
public function Main() { // constructor code tank.x = 225; tank.y = 200; addChild(tank); ////////////////
stage.addEventListener(KeyboardEvent.KEY_DOWN, kD); stage.addEventListener(KeyboardEvent.KEY_UP, kU); function kD(k:KeyboardEvent) { if (k.keyCode == 37) { kLeft = true; kUp = false; kDown = false; kRight = false; } if (k.keyCode == 39) { kRight = true; kUp = false; kDown = false; kLeft = false; } if (k.keyCode == 38) { kUp = true; kDown = false; kLeft = false; kRight = false; } if (k.keyCode == 40) { kDown = true; kUp = false; kLeft = false; kRight = false; } }
function kU(k:KeyboardEvent) { if (k.keyCode == 37) { kLeft = false; } if (k.keyCode == 39) { kRight = false; } if (k.keyCode == 38) { kUp = false; } if (k.keyCode == 40) { kDown = false; } }
//функция перемещения stage.addEventListener(Event.ENTER_FRAME, dvig); function dvig(e:Event) { if (kLeft) { tank.x -= speed_t; tank.rotation = 270; }
if (kRight) { tank.x += speed_t; tank.rotation = 90; }
if (kUp) { tank.y -= speed_t; tank.rotation = 0; }
if (kDown) { tank.y += speed_t; tank.rotation = 180; } }
}
}
}
|
|
| |
MadDoctor | Дата: Воскресенье, 06 Апреля 2014, 22:07 | Сообщение # 20 |
почетный гость
Сейчас нет на сайте
| Цитата ApuoH ( ) я имел ввиду правильный код, а не собирать игру с кусков скриптов который потом тяжко будет править. а причем тут это и flashpunk? кадры - ниочем. flashpunk очень легкий, я незная as3, прочитав справку по flashpunk и посмотрев пару примеров, написал игру за 2 дня (1 день знакомился с as3 и fp, второй день писал). я бы помог тебе, ничего сложного в танчиках не вижу, но зачем оно? на флеше танчиков нету чтоли? да и графика простая, стандартная, вообщем таких игр куча, если только для опыта.
Цитата ApuoH ( ) вот тут добавляем танк на сцену, а также описаны функции управления. как видим код получается громоздким. Хотя тут даже и половины не описано. пишешь как индусский программист, не обижайся, но так. в каждом if по 4 изменений переменных, и вообще много условий, ГКод выходит. при помощи flashpunk ты бы создал отдельный entity и сделал бы в нем управление в 4-8 строк. а потом одной строкой добавил бы его на уровень.
так что советую flashpunk. это не куски скриптов, которые тяжко править. это фреймворк. импортировал и забыл про него. он спецом сделан для игр. т.е никаких листенеров для клавы не нужно, просто проверяешь нажатие кнопки в update функции и все. стоит отметить удобную работу с мирами и entity. код получается легким, понятным.
Сообщение отредактировал MadDoctor - Воскресенье, 06 Апреля 2014, 22:10 |
|
| |