PDA

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


xaxa
12.06.2005, 12:30
Мне нужно сделать небольший цикл, а в экшн скрипте я почти не разбираюсь(( Времени учиться нет, ибо послезавтра нужно сдать. Так что, если поможете, буду очень признателен.
Итак, мне нужно создать небольший цикл.
На поле длинной, допустим, 100 на 100 нужно, чтобы через каждые 5 секунд в случайном месте появлялся случайный объект(например boomb или ball) и исчезал
а)после того, как координаты "beetle" совпадали с ним.
б) по прошествии 5 секунд.
Управление "Beetle" я уже полностью настроил, остался только экшн скрипт)

Nirth
12.06.2005, 12:39
чтоб не получилось казусов покажи что из себя представляет жук, вообще лушче исходник покажи
P.s. о чем же ты раньше думал

Ostgur
12.06.2005, 13:44
onCLipEvent(enterframe){
if(_root.beetle.hitTest("_root.ball+i")){
твои действия по удалению или ещё чему-нибудь
}
}

Nirth
12.06.2005, 13:50
Брось каку, хватит юзать onClipEvent он устаревший с 6 версии.

Ostgur
12.06.2005, 13:58
А чё мне так юзать что-ли, вешать в майн фрейм:
beetle.onEnterFrame{};

Так предлагаешь? ;)

Nirth
12.06.2005, 14:07
тут вообще без онинтерфрейма можно обойтись

Ostgur
12.06.2005, 14:11
можно по-подробнее, а то я тут заел на дизайнах, что-то вообще от программинга отстал!

Nirth
12.06.2005, 14:30
Смотри, жучок двигаеться должен не по пикселю а по клеткам(то что двигаеться плавно это одно, но результат то ясен, мы двигаем по клеткам) тоесть координаты _x и _y нам вовсе не нужны, нам важны координаты сетки (назовем их X и Y чтобы отличались) тоесть нажимая на стрелку вправо, он двигаеться скажем на 20 пикселей(чтоб дойти до другой клетки) и сдвигаеться на X + 1 (на одну клетку в право) тоесть проверку можно осуществлять непосредственно перед движением.

xaxa
12.06.2005, 17:10
Жучок дигвается по полю со скорстью 10 при нажатии стрелок на клавиатуре. Давайте по порядку))
1) как сделать генерацию случайного объекта в случайном месте каждые 5 секунд, например из объектов "car", "frog" и "girl" c координатами х(0-100), y(0-100)
2) как сделать, чтобы этот объект исчезал:
а) по прошествии 10 секунд
б) при совпадении координатов жука с ним
3) нужно, чтобы всё это выполнялось циклично, скажем, 100 секунд.

Nirth
12.06.2005, 17:21
дубль два дай исходник

xaxa
12.06.2005, 20:51
с работы приду - выложу.

silin
12.06.2005, 23:57
Жучок дигвается по полю со скорстью 10 при нажатии стрелок на клавиатуре. Давайте по порядку))
1) как сделать генерацию случайного объекта в случайном месте каждые 5 секунд, например из объектов "car", "frog" и "girl" c координатами х(0-100), y(0-100)
2) как сделать, чтобы этот объект исчезал:
а) по прошествии 10 секунд
б) при совпадении координатов жука с ним
3) нужно, чтобы всё это выполнялось циклично, скажем, 100 секунд.1)
var l=['frog','girl','car'],cnt=0;
attachMovie(l[random(l.length)],cnt,cnt++,{_x:random(100),_y:random(100)})
2)
a)var id=setInterval(function(){mc.removeMovieClip();clearInterval(id)},10000)
b)mc.onEnterFrame=function(){if(this.hitTest(beetle))this.removeMovieClip();}

3)непонятно что должно повторяться через 100 с, (если и так все повторяется)
все в вместе в аттаче

xaxa
13.06.2005, 18:33
Всё, всё работает, огромное спасибо))
Ещё один маленький вопрос) Чтобы пр навдении на эти же самые объекты число в textarea1 увеличивалось на 10. И ещё:
beetle.onEnterFrame=function(){
var d=0,r=0;
d+=Key.isDown(Key.UP);
d-=Key.isDown(Key.DOWN);
r-=s*Key.isDown(Key.LEFT);
r+=s*Key.isDown(Key.RIGHT);
this._rotation+=r;
this._x+=s*d*Math.sin(Math.PI*this._rotation/180);
this._y-=s*d*Math.cos(Math.PI*this._rotation/180);

}
Нужно, чтобы жук вращался не относительно экрана, а относительно самого себя. То есть: если жук напрвален "головой" вниз, то при нажатии стрелки вперёд он двигался вниз экрана, при нажатии стрело вперёд+вправо в нижний левый угол экрана... Помогите, пожалуйста)

silin
13.06.2005, 19:09
>>Чтобы пр навдении на эти же самые объекты число в textarea1 увеличивалось на 10
mc.onRollOver=function(){
tablo+=10;//tablo - переменная текстфилда
}
>>Нужно, чтобы жук вращался не относительно экрана, а относительно самого себя. То есть: если жук напрвален "головой" вниз, то при нажатии стрелки вперёд он двигался вниз экрана, при нажатии стрело вперёд+вправо в нижний левый угол экрана...

как будем угадывать когда вращать а когда двигать?
он сейчас и движется в направлении головы по стрелкам вверх/вниз, по стрелкам влево/вправо вращается..
кстати, когда получится вращать относительно себя,не вращая оносительно экрана не забудь показать :D
впрочем, может такой вариант подойдет
..
r-=d*s*Key.isDown(Key.LEFT);
r+=d*s*Key.isDown(Key.RIGHT);
..

xaxa
13.06.2005, 19:38
как будем угадывать?
стрелки влево и вправо должны являтся не двигательными, а только повортными... то есть, при нажатии "вправо" он будет тупо крутиться вокруг своей оси. заранее спасибо))

silin
13.06.2005, 20:17
я окончательно перестал понимать чего надо: изначальный вариант и был таким

Nirth
13.06.2005, 20:24
хаха приатачь сюда то что у тебя есть
и опиши все сразу подробно...

xaxa
13.06.2005, 20:37
Так. Я выпил тонну кофе и понял, что то, что приаттачил silin было идеальным вариантом) Спасибо)

gaploid
14.06.2005, 14:37
Брось каку, хватит юзать onClipEvent он устаревший с 6 версии.

а чего есть на замену?

Nirth
14.06.2005, 14:48
события, в хелпе найдешь=)