PDA

Просмотр полной версии : Дублирование мувиков...


Leprechaun
20.06.2006, 18:43
Помогите со скриптом!

Есть мувик-шаблон ячейки.
Есть мувик-шаблон хинта.
Есть мувики с описаниями.
Есть дубликаты ячеек разных цветом.

Скриптом дублируется ячейка и создается поле, допустим 5*5 ячеек.
Изначально все они одинаковые.
Есть функция с параметрами цвет, описание, название.
С помощью функции можно изменять нужную ячейку и хинт к ней. Т.е. функция заменяет стандартную ячейку на дубликат. А в хинте
подставляются нужные описания, полученные из соответствующих параметров.

Leprechaun
20.06.2006, 18:58
Вот что должно получиться...
Но это всё прорисован рукой, а мне надо чтобы это мутил скрипт:

KPaul
20.06.2006, 19:14
Для построения поля можно использовать вложенные циклы.
заменяет стандартную ячейку на дубликатНа мой взгляд, лучше использовать возможности класса Color.

silin
20.06.2006, 19:45
>>можно использовать вложенные циклы.
а можно и не вложенные..
>>лучше использовать возможности класса Color
а можно двигать по линейке мувик (в кадрах состояния) или аттачить в тоже место (имя, глубина) из библиотеки.. или еще чего - вариантов много
>>функция заменяет стандартную ячейку на дубликат. А в хинте
подставляются нужные описания, полученные из соответствующих параметров.
2Leprechaun, а в чем вопрос: так и напиши..
для примера:

VoCz
20.06.2006, 20:15
silin, спасибо.

Это будет карта, где измененные ячейки - это какие-либо объекты.
У меня есть несколько вопросов:
1. Как заменить рандом на указание координат и параметров в первом кадре в скрипте;
2. Что нужно изменить, чтобы цвет был виден уже в первом кадре, а не при клике;

silin
20.06.2006, 20:23
1. вместо random написать то, что тебе нужно
2. аттачить не серый мувик, а те которые тебе нужны

VoCz
20.06.2006, 20:53
Несовсем понял.. random ведь в for'е идет...
И с аттачем..

Можешь на примере показать?
Например, a3 - красный, с описанием "красный"+"1", b4 - "красный"+"2", с2 - "зеленый"+"5"

silin
20.06.2006, 22:18
>>random ведь в for'е идет...
вобщем цикл был для простоты/наглядности, тем не менее:
если исходные значения/состояния ячеек подчиняются какой-то закономерности, то можно их вычислять в том же цикле, если нет, то можно определить массив и брать в цикле значения из него..
можно и подругому:
вручную расставить нужные мувики, а в цикле (или в самих мувиках или еще лучше в классе) определить метод, заменяющий ячейку и передающий в хинт нужные параметры..

VoCz
20.06.2006, 22:39
Честно говоря, я сейчас ничего не понял из вышесказанного ;)
Я пока все это представляю так: Массивом создается поле, а нужные
ячейки определяются параметрами, записанными вручную. ТОлько как это сделать?

silin
20.06.2006, 23:39
если честно, я уже тоже перестал понимать в чем проблема..
поле можно создать как угодно (хоть в цикле, хоть руками)
заменить ячеку вроде ясно как,
заменить текст в хинте тоже..
в зипе пример функции, может так понятнее будет
чем еще помочь не знаю..

Leprechaun
26.06.2006, 21:57
var hints=['gray','blue','red','green'];
var descriptions=['init','first','second','third'];
var r=36,x0=50,y0=50;Сделать вместо 'слов' названия мувиков, котрые будут братся из библиотеки.

MovieClip.prototype.setType=function(n){
this._parent.attachMovie("c"+n,this._name,this.getDepth(),{_x:this._x,_y:this._y,onRelease:this.onRelease});
hint.body.hint=hints[n];
hint.body.description=descriptions[n];
hint.gotoAndPlay(2);
}
for(var i=0;i<25;i++){
this.attachMovie("c0",i,i,{_x:x0+(i%5)*r,_y:y0+Math.floor(i/5)*r});
this[i].onRelease=function(){
this.setType(random(4));//для примера рандомно меняем тип ячейки по клику
}
}
Функция должна менять мувик НЕ по клику, а при старте мувика. И чтобы можно было использовать функцию вручную. Т.е. прописывать параметры к Каждому мувику в первом кадре. Это важно :)
Надо сделать два for'a. Чтобы имя клетки создавалось по типу С_*x*_*y*.

silin
26.06.2006, 22:04
ну вот : нужно сделать.., функция должна.., и чтоб можно..
нормальное ТЗ: смело можно в раздел Работа, там примут с удовольствием..
зы: помочь и сделать немного разные вещи..

iNils
26.06.2006, 23:07
Leprechaun, для выделение кода есть специльные теги код