![]() |
|
||||||||||
|
|||||
|
strange mood
|
Тогда проверяйте эту конструкцию:
В частности, заполняется ли массив wolfs.
__________________
тонкий тролль, осеянный благодатью |
|
|||||
|
Регистрация: Jun 2009
Адрес: Москва
Сообщений: 170
|
Если бы Ваш код был читабелен - Вам бы быстрее помогли. Ну ждите пока какой-нибудь герой разберется в вашем бардаке...
__________________
Могу ошибаться... =) |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 24
|
GAIKER, элементы этого массива действительно null.
Но ведь этот массив был раньше объявлен: Не пойму, в чем фокус? Добавлено через 3 минуты mickfallout, закройте, пожалуйста, глаза на нечитабельность кода. Если есть желание - помогите, пожалуйста, разобраться. Есть конкретные данные: объявлены переменные Далее этот массив не заполняется: Последний раз редактировалось stryker; 27.04.2010 в 18:03. |
|
|||||
|
Регистрация: Jun 2009
Адрес: Москва
Сообщений: 170
|
public var wolf_temp:MovieClip; public var wolf1:MovieClip = new MovieClip(); public var wolf2:MovieClip = new MovieClip(); public var wolfs:Array = new Array(wolf1, wolf2); public function Main() { super(); wolf_temp = wolfs[Math.floor(Math.random()*2)]; trace(wolf_temp);//выводит [object MovieClip] }
__________________
Могу ошибаться... =) Последний раз редактировалось mickfallout; 27.04.2010 в 18:37. |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 24
|
mickfallout, спасибо, помогло.
Цитата:
![]() Ваши замечания обязательно будут учтены в следующих моих вопросах. Проблема была в том, что я объявлял переменные таким образом: вместо того, как сделали это Вы. Объясните, почему требуется создавать эти переменные именно, как экземпляр класса MovieClip, ведь wolf1 и wolf2 уже присутствуют на сцене ? |
|
|||||
|
Регистрация: Jun 2009
Адрес: Москва
Сообщений: 170
|
не могу нормально ответить. не могу найти в Вашем коде то, что хочу процитировать =(
короче вроде так надо: package { import flash.display.* import flash.events.* public class Main extends Sprite { public var wolf_temp:MovieClip; public var wolf1:MovieClip ; public var wolf2:MovieClip ; public var wolfs:Array; public function Main() { super(); wolfs = new Array(wolf1, wolf2); wolf_temp = wolfs[Math.floor(Math.random()*2)]; trace(wolf_temp);//выводит [object MovieClip] } } }
__________________
Могу ошибаться... =) |
|
|||||
|
strange mood
|
Отвыкайте инициализировать поля класса при объявлении. Пока не будете точно знать, как работает этот механизм, присваивайте значения в конструкторе.
__________________
тонкий тролль, осеянный благодатью |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 24
|
ок, это понятно. Пока что будем все присвоения делать в функции-конструкторе.
Но все-таки, если вернуться к Вашему варианту то, получается, все объекты сцены нужно объявлять именно таким образом? Если их не объявлять в конструкторе, разумеется. ? |
|
|||||
|
Регистрация: Jun 2009
Адрес: Москва
Сообщений: 170
|
так что, мой вариант (выше на три поста) не работает? инициализировать переменную пустым мувиком, когда она должна хранить мувик с таймлайна - как-то очень странно, вообще не понимаю как это работает, если работает.
__________________
Могу ошибаться... =) |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 24
|
пост №26 работает.
В частности, уже читабельный код? package { import flash.display.*; import flash.events.*; import flash.text.*; import score.Score; public class IM02 extends MovieClip { public var wolf1,wolf2: MovieClip; public var basket1,basket2,basket3,basket4: MovieClip; public var egg11,egg12,egg13,egg14,egg15,egg21,egg22,egg23,egg24,egg25,egg31,egg32,egg33,egg34,egg35,egg41,egg42,egg43,egg44,egg45: MovieClip; public var rabbit,rabbit10,rabbit11,rabbit20,rabbit21: MovieClip; public var chicken10,chicken11,chicken12,chicken13,chicken14,chicken20,chicken21,chicken22,chicken23,chicken24,chicken1,chicken2,chicken3: MovieClip; public var gameA,gameB: MovieClip; public var egg_temp,egg_temp5,egg_temp51,egg_temp52,egg_temp53,egg_temp54:MovieClip; public var wolf_temp,basket_temp:MovieClip; public var scoreGame12: TextField; public var btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9: SimpleButton; public var kChicken,numScore:int; public var arrayStart,wolfs,baskets1,baskets2,egg1,egg2,egg3,egg4,eggs,eggs51,eggs52,eggs53,eggs54:Array; public function IM02() { wolfs = new Array(wolf1, wolf2); baskets1 = new Array(basket1, basket2); baskets2 = new Array(basket3, basket4); egg1 = new Array(egg11, egg12, egg13, egg14, egg15); egg2 = new Array(egg21, egg22, egg23, egg24, egg25); egg3 = new Array(egg31, egg32, egg33, egg34, egg35); egg4 = new Array(egg41, egg42, egg43, egg44, egg45); eggs = new Array(egg11, egg21, egg31, egg41); eggs51 = new Array(egg21, egg31, egg41); eggs52 = new Array(egg11, egg31, egg41); eggs53 = new Array(egg11, egg21, egg41); eggs54 = new Array(egg11, egg21, egg31); arrayStart = new Array(wolf1,wolf2,basket1,basket2,basket3,basket4,egg11, egg12, egg13, egg14, egg15,egg21, egg22, egg23, egg24, egg25,egg31, egg32, egg33, egg34, egg35,egg41, egg42, egg43, egg44, egg45,gameA,gameB,rabbit,rabbit10,rabbit11,rabbit20,rabbit21,chicken10,chicken11,chicken12,chicken13,chicken14,chicken20,chicken21,chicken22,chicken23,chicken24,chicken1,chicken2,chicken3); scoreGame12.text = "12: 00"; //-------Видимость символов сцены перед началом игры при ее загрузке----- for (var i=0; i<arrayStart.length; i++) { arrayStart[i].visible = true; } btn5.addEventListener(MouseEvent.CLICK, game_A);//-----Запускаем игруА----- //btn6.addEventListener(MouseEvent.CLICK, game_B); } public function game_A(event:MouseEvent):void { //-----Активируем четыре игровые кнопки ----- btn1.addEventListener(MouseEvent.CLICK, leftUp); btn2.addEventListener(MouseEvent.CLICK, leftDown); btn3.addEventListener(MouseEvent.CLICK, rightUp); btn4.addEventListener(MouseEvent.CLICK, rightDown); //-------Видимость символов сцены при начале "играА"----- for (var i=0; i<arrayStart.length; i++) { arrayStart[i].visible = false; } rabbit.visible = true; gameA.visible = true; numScore = 0; scoreGame12.text = String(numScore); //-----Назначаем случайным образом начальные позиции для волков и корзин----- wolf_temp = wolfs[Math.floor(Math.random()*2)]; wolf_temp.visible = true; if (wolf_temp == wolf1) { basket_temp = baskets1[Math.floor(Math.random()*2)]; basket_temp.visible = true; } if (wolf_temp == wolf2) { basket_temp = baskets2[Math.floor(Math.random()*2)]; basket_temp.visible = true; } stage.addEventListener(Event.ENTER_FRAME, startGameA); } public function startGameA(event:Event):void { } private function leftUp(event:MouseEvent):void { wolf1.visible = true; wolf2.visible = false; basket1.visible = true; basket2.visible = false; basket3.visible = false; basket4.visible = false; } private function leftDown(event:MouseEvent):void { wolf1.visible = true; wolf2.visible = false; basket1.visible = false; basket2.visible = true; basket3.visible = false; basket4.visible = false; } private function rightUp(event:MouseEvent):void { wolf1.visible = false; wolf2.visible = true; basket1.visible = false; basket2.visible = false; basket3.visible = true; basket4.visible = false; } private function rightDown(event:MouseEvent):void { wolf1.visible = false; wolf2.visible = true; basket1.visible = false; basket2.visible = false; basket3.visible = false; basket4.visible = true; } } } |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:36. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|