|
|
|||||
[+1 13.12.12]
[++1 13.12.12] Регистрация: Aug 2012
Сообщений: 145
|
непрописанный рандом в координатах
вот весь код:
var style100x100:Array = ["cafe","office","game","shop"] var item_cafe:Array = [new cafeBOX1(), new cafeBOX2(), new cafeBOX3(), new cafeBOX4()] var item_office:Array = [new officeBOX1(), new officeBOX2(), new officeBOX3(), new officeBOX4()] var item_game:Array = [new gameBOX1(), new gameBOX2(), new gameBOX3(), new gameBOX4()] var item_shop:Array = [new shopBOX1(), new shopBOX2(), new shopBOX3(), new shopBOX4()] var ITEM_STYLE:MovieClip var STYLE100X100:String var rooms = [new room100x50(), new room100x50(), new room50x50(), new room150x50()] var cybers = rooms[Math.floor( Math.random() * rooms.length )] addChild (cybers) STYLE10x5 () function STYLE10x5 () { STYLE100X100 = style100x100[Math.floor( Math.random() * style100x100.length )] if (STYLE100X100 == style100x100[0]) { for (var ION1:uint; ION1<4;ION1++) { trace (ION1) ITEM_STYLE = item_cafe[Math.floor( Math.random() * item_cafe.length )] addChild(ITEM_STYLE) ITEM_STYLE.x = cybers.x +(13*ION1) ITEM_STYLE.y = cybers.y - 4 } } if (STYLE100X100 == style100x100[1]) { for (var ION2:uint; ION2<4;ION2++) { trace (ION2) ITEM_STYLE = item_office[Math.floor( Math.random() * item_office.length )] addChild(ITEM_STYLE) ITEM_STYLE.x = cybers.x +(13*ION2) ITEM_STYLE.y = cybers.y - 4 } } if (STYLE100X100 == style100x100[2]) { for (var ION3:uint; ION3<4;ION3++) { trace (ION3) ITEM_STYLE = item_game[Math.floor( Math.random() * item_game.length )] addChild(ITEM_STYLE) ITEM_STYLE.x = cybers.x +(13*ION3) ITEM_STYLE.y = cybers.y - 4 } } if (STYLE100X100 == style100x100[3]) { for (var ION4:uint; ION4<4;ION4++) { trace (ION4) ITEM_STYLE = item_shop[Math.floor( Math.random() * item_shop.length )] addChild(ITEM_STYLE) ITEM_STYLE.x = cybers.x +(13*ION4) ITEM_STYLE.y = cybers.y - 4 } } } и не говорите что код ужасен, я сам это знаю! |
|
|||||
Цитата:
А чего хотелось собственно? |
|
|||||
[+1 13.12.12]
[++1 13.12.12] Регистрация: Aug 2012
Сообщений: 145
|
чтобы генерировалось 4 объекта с интервалом в 13 пикселей, но что надо исправить в коде чтобы сделать нормальную генерацию объектов и их расположение?
Последний раз редактировалось XMON; 24.01.2013 в 21:07. |
|
|||||
// Функция, возвращающая ссылку на вновь созданный // экземпляр MovieClip'а. function getRandomCafe():MovieClip { var rand:int = Math.random() * 4; if (rand == 0) return new cafeBOX1(); else if (rand == 1) return new cafeBOX2(); else if (rand == 2) return new cafeBOX3(); else if (rand == 3) return new cafeBOX4(); } // Позже, в вашей функции ... // Не забывайте инициализировать переменную // в заголовке цикла. for (var ION1:uint = 0; ION1<4;ION1++) { trace (ION1) ITEM_STYLE = getRandomCafe(); addChild(ITEM_STYLE) ITEM_STYLE.x = cybers.x +(13*ION1) ITEM_STYLE.y = cybers.y - 4 } ... |
|
|||||
XMON, может вам и надоело конечно что ваш код называют плохим. Но посмотрите в разделе ActionScript 3.0 вверху замечательная ссылка, базовый курс по Flash. Ну красиво же всё и доступно.
ПОТРАТЬТЕ 10 (десять!) дней, и перестаньте мучать себя и людей вокруг. Я уже далеко не первый раз говорю об этом на форуме. Все берутся сразу писать что-то грандиозное, а выходит всё равно неизвестно что. И это вместо того чтобы размеренно и поэтапно обучаться.
__________________
adobe AS3 manual |
|
|||||
Регистрация: Jan 2009
Сообщений: 1,651
|
Цитата:
потом в цикле выбираешь один из объектов в массиве и ставишь его в координатах: for (var ION1:uint; ION1<4;ION1++) { trace (ION1) ITEM_STYLE = item_cafe[Math.floor( Math.random() * item_cafe.length )] addChild(ITEM_STYLE) ITEM_STYLE.x = cybers.x +(13*ION1) ITEM_STYLE.y = cybers.y - 4 } Решение тебе подсказывают в посте №4. И в прошлой твоей теме тоже подсказывали. Только ты его не понимаешь. Ты не видишь разницы между понятиями "класс" и "экземпляр класса".
__________________
мой пустой блог |
|
|||||
Извиняюсь, перепутал. Я думал там классы в массиве
__________________
adobe AS3 manual |
Часовой пояс GMT +4, время: 15:30. |
|
« Предыдущая тема | Следующая тема » |
|
|