Создание Flash игры типа Impossible Quiz
| |
ATJlaC | Дата: Вторник, 18 Марта 2014, 11:15 | Сообщение # 1 |
уже был
Сейчас нет на сайте
| Наверное, многие знают про серию Impossible Quiz, нарисованную и анимированную через Flash, я хотел узнать, требуется ли для создания таких игр учить actionscript? И в каком объеме, ведь создать такую викторину проще, чем обычную игру, так?
Для тех, кто не играл: не знаю, можно ли давать ссылки, приложу скрин, impossible quiz - это викторина с подвохами, ответы почти всегда нестандартные, могут находиться где угодно. На скрине, к примеру, ответом будет нажатие на номер вопроса.
|
|
| |
Эргалон | Дата: Вторник, 18 Марта 2014, 11:27 | Сообщение # 2 |
Вездесущий
Сейчас нет на сайте
| При клике на кнопки, в любом случае надо использовать AS, чтобы перейти в следующий кадр(это если каждый вопрос, в последующем кадре), для следующего вопроса. Но чтобы создать нечто подобное, достаточно базовых знаний.
Кубариум Rise of the dark lords
Сообщение отредактировал Эргалон - Вторник, 18 Марта 2014, 11:29 |
|
| |
ATJlaC | Дата: Среда, 19 Марта 2014, 10:45 | Сообщение # 3 |
уже был
Сейчас нет на сайте
| Я попробовал создать простейшее действие с помощью фрагментов кода, но возникли проблемы, не поможете разобраться? :S
Суть: синий квадрат можно перетаскивать, под синим квадратом находится зеленый квадрат, при нажатии на который происходит переход на следующий кадр. У синего квадрата такой код: Код stop () ; movieClip_1.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
function fl_ClickToDrag(event:MouseEvent):void { movieClip_1.startDrag(); }
stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
function fl_ReleaseToDrop(event:MouseEvent):void { movieClip_1.stopDrag(); }
У зеленого пытаюсь поставить такой: Код movieClip_1.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrame);
function fl_ClickToGoToAndStopAtFrame(event:MouseEvent):void { gotoAndStop(2); }
Проблема в том, что я не могу редактировать код второго квадрата, весь текст добавляется в код синего, хотя выделяю я именно зеленый.
В общем, помогите разобраться, как правильно выделять определенный объект?
И ещё: при переходе на следующий кадр квадрат, который перетаскивался, остается. Как убрать его со второго кадра? Я удаляю его, но он удаляется со всех кадров, и получается, что либо он на всех кадрах, либо ни на одном. А мне нужно, чтобы на первом он перетаскивался, а второй кадр был чистым. Я его создаю чистый, а он копирует все с первого кадра(
Я совсем запутался с правильным выделением слоёв и кадров Добавлено (19.03.2014, 10:45) --------------------------------------------- upd Вроде все работает, получается, что код пишется к целому кадру, а не к определенному объекту? В общем, код выглядит так:
Код movieClip_1.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
function fl_ClickToDrag(event:MouseEvent):void { movieClip_1.startDrag(); }
stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
function fl_ReleaseToDrop(event:MouseEvent):void { movieClip_1.stopDrag(); }
stop();
movieClip_2.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrame);
function fl_ClickToGoToAndStopAtFrame(event:MouseEvent):void { gotoAndStop(2); }
А моно еще один вопрос? Искал в интернете, но не нашел. Как сделать несколько жизней, т.е. если 3 раза нажал не туда, куда нужно, происходил переход на кадр с game over
|
|
| |
Эргалон | Дата: Среда, 19 Марта 2014, 11:49 | Сообщение # 4 |
Вездесущий
Сейчас нет на сайте
| Коды не пишутся в кадрах. health = 3;
Если не туда нажимаешь, то вычитаешь health -= 1;
Потом ставишь условие, if, если health <= 0, то gotoAndStop(Номер кадра с геймовером)
Кубариум Rise of the dark lords
Сообщение отредактировал Эргалон - Среда, 19 Марта 2014, 14:26 |
|
| |
ApuoH | Дата: Четверг, 20 Марта 2014, 02:38 | Сообщение # 5 |
почетный гость
Сейчас нет на сайте
| Вот держите код. Код stop(); movieClip_1.addEventListener(MouseEvent.MOUSE_DOWN, mousePress); movieClip_1.addEventListener(MouseEvent.MOUSE_UP, mouseRelease); function mousePress(event:MouseEvent):void { event.target.startDrag(); }
function mouseRelease(event:MouseEvent):void { event.target.stopDrag(); } movieClip_2.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrame);
function fl_ClickToGoToAndStopAtFrame(event:MouseEvent):void { gotoAndStop(2); }
|
|
| |
|