![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2013
Сообщений: 322
|
dimarik, лол, лол был к тому, что ТС НЕ УМЕЕТ СОЗДАТЬ МАССИВ ИЗ ЭЛЕМЕНТОВ, че вы ему толкаете код который он даже запустить не сможет?
я специально процитировал код, в котором инициализируются массивы. и привел цитату, где ТС простит помочь проинициализировать массив. Цитата:
> var array:Array = [/*какие-то объекты*/]; это просто слов нет я даже шутку состряпал на скорую руку в виде одноциклового кода, который для ТС бесполезен, ровно как и код в пред. постах. то есть я хочу сказать, что шутка была в том, что ваш код такой же, как и мой, нет смысла и ничего не делает http://www.flasher.ru/forum/showpost...68&postcount=4 ну я не знаю, по мне так очевидная шутка. или тут надо было прогудеть и включить закадровый смех, что бы понятно стало? Цитата:
я даже еще раз скажу другой формулировкой: ТС не нужно четыре одинаково бесполезных варианта кода со сложностью o(n^2), которые не делают то, что нужно. Последний раз редактировалось nubideus; 30.11.2014 в 00:43. |
|
|||||
|
Регистрация: Oct 2003
Адрес: Спб
Сообщений: 27
|
Nubideus, Спасибо, что заметили текст с просьбой придентифицировать объекты) это возможно? Помогите, если вам не сложно или направьте) спасибо
|
|
|||||
|
Регистрация: Jan 2013
Сообщений: 322
|
Mylton, сори, я не могу себе позволить сказать что то полезное в топике, где даже такой гигант как работник мэйл.ку и можератор форума этого не делает.
ну то есть меня тут считают придурковатым, зачем мне их разочаровывать http://help.adobe.com/ru_RU/FlashPla...ml#numChildren http://help.adobe.com/ru_RU/FlashPla...l#getChildAt() пс, обратите внимание: Цитата:
|
|
|||||
|
Примерно так
import flash.display.DisplayObject; //создайте массив в который будете помещать все созданные объекты класса menuskullobj var allObjects:Array = []; function addscull (e:Event) { scull_Num = scull_Num+1; var menuscull = new menuskullobj(); menuscullposition_x = Math.random()*(stage.stageWidth+stage.stageWidth/4)-stage.stageWidth/8; menuscullposition_y = Math.random()*(stage.stageHeight+stage.stageHeight/4)-stage.stageHeight/8; menuscull.x = menuscullposition_x; menuscull.y = menuscullposition_y; menuscull.ymov = Math.random()*6-3; menuscull.xmov = Math.random()*6-3; titlescreen.addChildAt (menuscull,0); menuscull.addEventListener (Event.ENTER_FRAME, scullmove); if (scull_Num == 100) { menusculltimer.stop(); //trace ("генерация закончилась"); } // объект создан и пора поместить его в массив allObjects.push(menuscull) } function scullmove (e:Event) { var singlescull = e.currentTarget; singlescull.x += singlescull.xmov; singlescull.y += singlescull.ymov; if (singlescull.y > stage.stageHeight+stage.stageHeight/8) { singlescull.ymov *= -1; } if (singlescull.x > stage.stageWidth+stage.stageWidth/8) { singlescull.xmov *= -1; } if (singlescull.y < -stage.stageHeight/8) { singlescull.ymov *= -1; } if (singlescull.x < -stage.stageWidth/8) { singlescull.xmov *= -1; } //проверка столкновения для текущего объекта singlescull //пробегаетесь по массиву и ищете столкновения for (var i:int = 0; i < allObjects.length; i++) { var currentObj:DisplayObject = allObjects[i] as DisplayObject; //не проверяем столкновение с самим собой if (currentObj == singlescull) continue; if (singlescull.hitTestObject(currentObj)) { trace("было столкновение межу объектами") } } } |
|
|||||
|
Регистрация: Oct 2003
Адрес: Спб
Сообщений: 27
|
Samana, спасибо, работает. Немножко помудрить надо, чтобы не застревали друг на друге объекты, но я справлюсь. Всего несколько строк, а работает. Огромное спасибо.
nubideus, тоже спасибо за помощь Добавлено через 44 минуты Новая проблема( Я думал, что объекты застревают друг в друге потому, что захлестываются друг на друга при движении, а оказалось, что они рандомно появляются друг на друге. Теперь не знаю, как проверять при создании нового объекта, что он не попадает на уже имеющийся. Представляю, что надо создать цикл после создания рандомных координат, который будет проверять нет ли на созданных рандомных координатах объекта, и, в случае совпадения, заново создавать рандомные координаты. Как я это не записывал, у меня выдает ошибку, не понимаю, что я не так делаю( Помогите, пожалуйста. |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:26. |
|
|
« Предыдущая тема | Следующая тема » |
|
|