![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2006
Сообщений: 7
|
около полутора лет не писал на ЭкшенСкрипте и вот столкнулся со следующей проблемой, достаточно глупой, но тем не менее застопорившей весь рабочий процесс
необходим объект на сцене который бы поворачивался при нажатии клавиш влево-вправо, и двигался с элементарным трением вперед. итак код номер 1(написанный мною) _root.roamer.cSpeed=5
_root.roamer.cFriction=0.7
_root.roamer.onEnterFrame=function(){
if(Key.isDown(Key.LEFT)){
dir-=5
} else if(Key.isDown(Key.RIGHT)){
dir+=5
} else if(Key.isDown(Key.UP)){
this.cSpeed=4
}
xIncr = Math.cos(dir*Math.PI/180)*this.cSpeed
yIncr = Math.sin(dir*Math.PI/180)*this.cSpeed
this._x-=xIncr
this._y-=xIncr
this._rotation=dir
this.cSpeed*=this.cFriction
}
и соответсвенно код стыренный из Нета onClipEvent (enterFrame) {
if (Key.isDown(Key.UP)) {
speed += 2;
}
if (Key.isDown(Key.DOWN)) {
speed += -2;
}
if (Key.isDown(Key.RIGHT)) {
dir += 15;
}
if (Key.isDown(Key.LEFT)) {
dir += -15;
}
xspeed = Math.cos(dir*Math.PI/180)*speed;
yspeed = Math.sin(dir*Math.PI/180)*speed;
_x += xspeed;
_y += yspeed;
_rotation = dir;
}
причем при общем сходстве, мой код работает некорректно, а использовать OnClipEvent как то стрёмно, может ктонить ответит - отчего такое происходит и как лечиццо? |
|
|||||
|
у вас dir не обьявлена нигде
__________________
"We Are The Champions My Friends!" Queen |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 7
|
отследил в обоих вариантах через trace() - по дефолту - везде 0,
|
|
|||||
_root.roamer.cSpeed = 5;
_root.roamer.cFriction = 0.7;
_root.roamer.dir = 0;
_root.roamer.onEnterFrame = function() {
if (Key.isDown(Key.LEFT)) {
this.dir -= 5;
}
if (Key.isDown(Key.RIGHT)) {
this.dir += 5;
}
if (Key.isDown(Key.UP)) {
this.cSpeed += 2;
}
if (Key.isDown(Key.DOWN)) {
this.cSpeed -= 2;
}
xIncr = Math.cos(this.dir*Math.PI/180)*this.cSpeed;
yIncr = Math.sin(this.dir*Math.PI/180)*this.cSpeed;
trace(this.cSpeed);
this._x -= xIncr;
this._y -= yIncr;
this._rotation = this.dir;
this.cSpeed *= this.cFriction;
};
![]() может из-за этого? ![]()
__________________
"We Are The Champions My Friends!" Queen |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 7
|
блин...точно!
око замылилось а я уже грешу на потусторонние силы)) |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:11. |
|
|
« Предыдущая тема | Следующая тема » |
|
|