Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.11.2014, 23:13
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 11  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Текст, естессна. "лол" в один цикл с сохранением сложности. Я тут даже комментарии не хочу давать. Твой "лол" тут все решил.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 29.11.2014, 23:26
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 12  
Ответить с цитированием
nubideus

Регистрация: 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.
Старый 30.11.2014, 08:47
Mylton вне форума Посмотреть профиль Отправить личное сообщение для Mylton Найти все сообщения от Mylton
  № 13  
Ответить с цитированием
Mylton

Регистрация: Oct 2003
Адрес: Спб
Сообщений: 27
Nubideus, Спасибо, что заметили текст с просьбой придентифицировать объекты) это возможно? Помогите, если вам не сложно или направьте) спасибо

Старый 30.11.2014, 13:18
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 14  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
Mylton, сори, я не могу себе позволить сказать что то полезное в топике, где даже такой гигант как работник мэйл.ку и можератор форума этого не делает.
ну то есть меня тут считают придурковатым, зачем мне их разочаровывать

http://help.adobe.com/ru_RU/FlashPla...ml#numChildren
http://help.adobe.com/ru_RU/FlashPla...l#getChildAt()

пс, обратите внимание:
Цитата:
"лол" в один цикл с сохранением сложности. Я тут даже комментарии не хочу давать. Твой "лол" тут все решил.
даже после такой дикой иронии я все равно окажусь не прав, а модератор дартаньян, мой лол тут все решил

Старый 30.11.2014, 14:23
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 15  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Примерно так
Код AS3:
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("было столкновение межу объектами")
		}
 
	}
}

Старый 03.12.2014, 21:15
Mylton вне форума Посмотреть профиль Отправить личное сообщение для Mylton Найти все сообщения от Mylton
  № 16  
Ответить с цитированием
Mylton

Регистрация: Oct 2003
Адрес: Спб
Сообщений: 27
Samana, спасибо, работает. Немножко помудрить надо, чтобы не застревали друг на друге объекты, но я справлюсь. Всего несколько строк, а работает. Огромное спасибо.

nubideus, тоже спасибо за помощь

Добавлено через 44 минуты
Новая проблема( Я думал, что объекты застревают друг в друге потому, что захлестываются друг на друга при движении, а оказалось, что они рандомно появляются друг на друге.
Теперь не знаю, как проверять при создании нового объекта, что он не попадает на уже имеющийся.

Представляю, что надо создать цикл после создания рандомных координат, который будет проверять нет ли на созданных рандомных координатах объекта, и, в случае совпадения, заново создавать рандомные координаты.
Как я это не записывал, у меня выдает ошибку, не понимаю, что я не так делаю(
Помогите, пожалуйста.

Создать новую тему Ответ Часовой пояс GMT +4, время: 09:25.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 09:25.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.