Orfei
09.10.2012, 14:22
Помогите с кодом, пожалуйста!
В общем, ситуация такая:
На главной сцене мувик (танк). Внутри него еще один мувик (башня танка).
Делал так чтобы танк ездил и поворачивался сам +вращение башни вслед за мышкой.
Вроде все сделал танк ездит, башня крутится. Если танк стоит или перемещается в перед назад, то башня ведет себя как надо, смотрит ровно туда куда и курсор мыши, но стоит только начать поворот самого танка как башня начинает вращаться в обратную сторону! Да и просто при повороте танка на угол идет смещение поворота башни относительно курсора!
Помогите решить проблему! Я себе уже весь моСк взорвал!!!
исходники во вложенном файле.28553
Собственно сам код:
//
var step = 2;
var rotDirSpeed = 3;
onEnterFrame = function () {
if (Key.isDown(Key.LEFT)) {
hero_mc._rotation -= rotDirSpeed;
} else if (Key.isDown(Key.RIGHT)) {
hero_mc._rotation += rotDirSpeed;
}
var mDx = _xmouse - hero_mc._x;
var mDy = _ymouse - hero_mc._y;
var mAngle = Math.atan2(mDy, mDx);
hero_mc.body_mc._rotation = -hero_mc._rotation + mAngle / Math.PI * -180; //поворачиваем башню за мышкой
var dirAngle = hero_mc._rotation / 180 * Math.PI;
if (Key.isDown(Key.UP)) {
hero_mc.foot_mc.play();
hero_mc._x -= step * Math.cos(dirAngle);
hero_mc._y -= step * Math.sin(dirAngle);
} else if (Key.isDown(Key.DOWN)) {
hero_mc.foot_mc.play()
hero_mc._x += step * Math.cos(dirAngle);
hero_mc._y += step * Math.sin(dirAngle);
} else {
hero_mc.foot_mc.stop();
}
};
onMouseDown = function () {
hero_mc.body_mc.play(); //стреляем по клику
};
В общем, ситуация такая:
На главной сцене мувик (танк). Внутри него еще один мувик (башня танка).
Делал так чтобы танк ездил и поворачивался сам +вращение башни вслед за мышкой.
Вроде все сделал танк ездит, башня крутится. Если танк стоит или перемещается в перед назад, то башня ведет себя как надо, смотрит ровно туда куда и курсор мыши, но стоит только начать поворот самого танка как башня начинает вращаться в обратную сторону! Да и просто при повороте танка на угол идет смещение поворота башни относительно курсора!
Помогите решить проблему! Я себе уже весь моСк взорвал!!!
исходники во вложенном файле.28553
Собственно сам код:
//
var step = 2;
var rotDirSpeed = 3;
onEnterFrame = function () {
if (Key.isDown(Key.LEFT)) {
hero_mc._rotation -= rotDirSpeed;
} else if (Key.isDown(Key.RIGHT)) {
hero_mc._rotation += rotDirSpeed;
}
var mDx = _xmouse - hero_mc._x;
var mDy = _ymouse - hero_mc._y;
var mAngle = Math.atan2(mDy, mDx);
hero_mc.body_mc._rotation = -hero_mc._rotation + mAngle / Math.PI * -180; //поворачиваем башню за мышкой
var dirAngle = hero_mc._rotation / 180 * Math.PI;
if (Key.isDown(Key.UP)) {
hero_mc.foot_mc.play();
hero_mc._x -= step * Math.cos(dirAngle);
hero_mc._y -= step * Math.sin(dirAngle);
} else if (Key.isDown(Key.DOWN)) {
hero_mc.foot_mc.play()
hero_mc._x += step * Math.cos(dirAngle);
hero_mc._y += step * Math.sin(dirAngle);
} else {
hero_mc.foot_mc.stop();
}
};
onMouseDown = function () {
hero_mc.body_mc.play(); //стреляем по клику
};