![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Apr 2014
Сообщений: 5
|
Здравствуйте, меня интересует вопрос каким способом можно загрузить второй уровень в игре это второй кадр во Flash с помощью Action Script 3.0 заранее спасибо
Вот мой код:fscommand("fullscreen", "true"); import flash.events.Event; import flash.events.KeyboardEvent; var skorost = 0.1; var uskorenie = 0.11; var cars:Array = [car1,car2]; stage.addEventListener(Event.ENTER_FRAME, a); stage.addEventListener(KeyboardEvent.KEY_UP, f_up); function f_up(e:KeyboardEvent) { if (e.keyCode ==40) { car3.y += 10; } if (e.keyCode ==38) { car3.y -= 10; } } function a(E:Event) { skorost += uskorenie; if (skorost>4) { skorost = 4; } var i:int = cars.length; while (i--) { var car:MovieClip = cars[i]; car.x -= skorost; if (car.x <= 0) { car.x = 960; } if (car.hitTestObject(car3)) { removeChild(car); cars.splice(i, 1); } } car3.x += skorost; if (car3.x > 960) { car3.x = 0; } } Последний раз редактировалось Segeja; 04.04.2014 в 09:45. |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Если Вам нужно перейти на второй кадр, то в коде первого, Вам нужно инициировать вызов окончания уровня и в этом методе написать - gotoAndPlay(2);
|
|
|||||
|
Регистрация: Apr 2014
Сообщений: 5
|
Akopalipsis подскажите пожалуйста, а как инициировать вызов окончания уровня
приведите пример кода пожалуйста, заранее спасибо ![]() Добавлено через 3 часа 38 минут Akopalipsis оказалось что у меня клавиши клавиатуры не работают не могу перемещать машинку car3 вверх и вниз по игрек, я сделал меню попадаю на кадр с GAME вот его код это уровень 1 всё работает, кроме одного клавиатуры подскажите пожалуйста как изменить код игры заранее спасибо
stop(); Menu3_btn.addEventListener(MouseEvent.CLICK,OnClickMenu3); function OnClickMenu3(e:MouseEvent):void { gotoAndPlay("MENU"); } stop(); Level2_btn.addEventListener(MouseEvent.CLICK,OnClickLevel2); function OnClickLevel2(e:MouseEvent):void { gotoAndPlay("LEVEL"); } stop(); import flash.events.Event; import flash.events.KeyboardEvent; var skorost = 0.1; var uskorenie = 0.11; var cars:Array = [car1,car2]; stage.addEventListener(Event.ENTER_FRAME, a); stage.addEventListener(KeyboardEvent.KEY_UP, f_up); function f_up(e:KeyboardEvent) { if (e.keyCode == 39) { car3.y += 20; } if (e.keyCode == 37) { car3.y -= 20; } } function a(E:Event) { skorost += uskorenie; if (skorost>4) { skorost = 4; } var i:int = cars.length; while (i--) { var car:MovieClip = cars[i]; car.x -= skorost; if (car.x <= 0) { car.x = 960; } if (car.hitTestObject(car3)) { removeChild(car); cars.splice(i, 1); } } car3.x += skorost; if (car3.x > 960) { car3.x = 0; } } Akopalipsis вот такой баг появляется при нажатии на кнопку меню, которая возвращает в главное меню, подскажите пожалуйста как избавится от этого бага, заранее спасибо
TypeError: Error #2007: Параметр hitTestObject не должен быть равен нулю. at flash.display::DisplayObject/_hitTest() at flash.display::DisplayObject/hitTestObject() at Game_0012_fla::MainTimeline/a() Я написал вот такой код чтобы проверит клавиатуру вставил в первый кадр с меню отслеживает клавиатуру, а вот в кадре с первым уровнем не запускается вообще, подскажите пожалуйста что нужно во Flash сделать, заранее спасибо Вот код:
Последний раз редактировалось Segeja; 05.04.2014 в 19:33. |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Это не баг, а ошибка, допущенная Вами. И подсказать я тоже не могу, так-как в кадрах не понимаю...
Могу только сказать, что у методов-функций есть зона видимости. Определяется она фигурными скобками {}. У Вас в обработчике событий, который называется f_down, есть один обязательный параметр e ( event ) с типом KeyboardEvent. И вот обратиться к этому параметру е, можно только в зоне видимости метода, то есть только между скобками. В этом коде Вы обращаетесь правильно, но если сделать как ниже, то работать не будет. Может Вы так написали, а может у Вас в кадре с уровнем нет слушателя событий... я не знаю. Покажите весь код из кадра с уровнем. |
|
|||||
|
Регистрация: Apr 2014
Сообщений: 5
|
Akopalipsis вот весь код из кадра с уровнем
stop(); Menu3_btn.addEventListener(MouseEvent.CLICK,OnClickMenu3); function OnClickMenu3(e:MouseEvent):void { gotoAndPlay("MENU"); } stop(); Level2_btn.addEventListener(MouseEvent.CLICK,OnClickLevel2); function OnClickLevel2(e:MouseEvent):void { gotoAndPlay("LEVEL"); } stop(); import flash.events.Event; import flash.events.KeyboardEvent; var skorost = 0.1; var uskorenie = 0.11; var cars:Array = [car1,car2]; stage.addEventListener(Event.ENTER_FRAME, a); stage.addEventListener(KeyboardEvent.KEY_DOWN, f_down); function f_down (e:KeyboardEvent) { if (e.keyCode == 39) { car3.y += 20; } if (e.keyCode == 37) { car3.y -= 20; } } function a(E:Event) { skorost += uskorenie; if (skorost>4) { skorost = 4; } var i:int = cars.length; while (i--) { var car:MovieClip = cars[i]; car.x -= skorost; if (car.x <= 0) { car.x = 960; } if (car.hitTestObject(car3)) { removeChild(car); cars.splice(i, 1); } } car3.x += skorost; if (car3.x > 960) { car3.x = 0; } } это ссылка на уровень два Последний раз редактировалось Segeja; 06.04.2014 в 08:51. |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Если я правильно понял, то этот код первого уровня и нажав на кнопку фокус смещается на второй кадр, который так же является и следующим уровнем. И в этот момент вылезает ошибка... Так?
Тогда покажите весь код следующего уровня. Потому что в ошибке говорится про какой-то метод _hitTest(), которого я не вижу. |
|
|||||
|
Цитата:
Цитата:
__________________
There is no thing in this world that is not simple. |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
То есть, вот этот подчеркнутый _hitTest() программный метод?
|
|
|||||
|
Регистрация: Apr 2014
Сообщений: 5
|
Akopalipsis не _hitTest() а в коде у меня есть hitTestObject() ошибка случается когда с первого уровня уходишь на второй или уходишь в главное меню c первого уровня, вот код второго уровня:
stop(); Menu4_btn.addEventListener(MouseEvent.CLICK,OnClickMenu4); function OnClickMenu4(e:MouseEvent):void { gotoAndPlay("MENU"); } import flash.events.Event; import flash.events.KeyboardEvent; import flash.display.*; var skorostz = 0.1; var uskoreniez = 0.11; var vazs:Array = [vaz1,vaz2]; stage.addEventListener(Event.ENTER_FRAME, b); stage.addEventListener(KeyboardEvent.KEY_DOWN, f_up); function f_up (e:KeyboardEvent) { if (e.keyCode == 39) { vaz3.y += 20; } if (e.keyCode == 37) { vaz3.y -= 20; } } function b(E:Event) { skorostz += uskoreniez; if (skorostz>4) { skorostz = 4; } var i:int = vazs.length; while (i--) { var vaz:MovieClip = vazs[i]; vaz.x -= skorostz; if (vaz.x <= 0) { vaz.x = 960; } if (vaz.hitTestObject(vaz3)) { removeChild(vaz); vazs.splice(i, 1); } } vaz3.x += skorostz; if (vaz3.x > 960) { vaz3.x = 0; } } вот я думаю что из-за этого у меня и ошибка появляется Последний раз редактировалось Segeja; 07.04.2014 в 08:27. |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Тут дело в том, что в кадрах я не понимаю и могу предложить Вам лишь потрейсить код.
Посмотрите чему равны значения объектов, которые взаимосвязанные с методом hitTestObject. Добавлено через 58 часов 12 минут Вашу тему закрыли, по этому напишу здесь - выложите на форум Ваш проект, я посмотрю, может смогу помочь. Только заливать не куда-то, а на форум прикрепить к сообщению. Если графики слишком много и залить не получится, то удалите её и замените на квадратики. |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:41. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|