![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2006
Сообщений: 7
|
Добрый вечер! вот захотелось замутить простенькую игру, но вот хочу сделать гонки сделал машину и я её хочу заставить двигаться.
|
|
|||||
|
Регистрация: Feb 2006
Адрес: Moscow
Сообщений: 552
|
дальше что?..
Не вижу ни одного вопроса... Цитата:
__________________
Учимся правильно задавать вопросы |
|
|||||
|
Регистрация: Dec 2006
Сообщений: 7
|
я незнаю скрипта движения машины
|
|
|||||
|
Регистрация: Feb 2006
Адрес: Moscow
Сообщений: 552
|
function move(car_mc:MovieClip, __x:Number, __y:Number):Void
{
car_mc._x += __x;
car_mc._y += __y;
}
car_mc: передвигаемый объект __x: смещение по оси OX __y: смещение по оси OY
__________________
Учимся правильно задавать вопросы |
|
|||||
|
Регистрация: Dec 2006
Сообщений: 7
|
можно по подробние, я навичёк в этом деле
|
|
|||||
|
меценат
|
Все заисит от того что ты задумал =) мы ведь не телепаты =) хотя если так дальше пойдет дар начнет уже проявлятся : )
начнем пожалуй =) моно сделать так : this.createEmptyMovieClip("mc", 1);
with (this.mc) {
lineStyle(2, 0x000000, 100);
beginFill(0x6633CC);
moveTo(-25, -25);
lineTo(-25, -25);
lineTo(25, -25);
lineTo(25, 25);
lineTo(-25, 25);
endFill();
}
this.mc._x = 275;
this.mc._y = 200;
this.mc._rotation =- 90;
this.mc.onEnterFrame = function() {
this.zz = 4*Math.cos(this._rotation*(Math.PI/180));
this.zzz = 4*Math.sin(this._rotation*(Math.PI/180));
if (Key.isDown(Key.RIGHT)) {
this._rotation += 3;
}
if (Key.isDown(Key.LEFT)) {
this._rotation -= 3;
}
if (Key.isDown(Key.UP)) {
this._y += this.zzz;
this._x += this.zz;
}
if (Key.isDown(Key.DOWN)) {
this._y -= this.zzz/2;
this._x -= this.zz/2;
}
};
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 54
|
ого ... а можно хотя бы какие нить комменты возле каждой строчки кода ??? а то телепатами будем мы - новички! ))
|
|
|||||
|
Регистрация: Dec 2006
Сообщений: 7
|
Нашёл скрипт он всё работает вот только не пойму, почему он не едет назад моя машина и если вам не трудно можете, объяснит что к чему.
onClipEvent (load) {
this.dam = 0;
this.br = 0.06;
var MAXspeed = 5;
var frontMAXspeed = -1;
this.a = 0.01;
this.b = 0.02;
var aksel_koeff = a+b;
var BreakPathKoeff = 0.005;
var Akseleration = 0;
this.nosz._alpha = 0;
this._rotation = 90;
this.fuel = 80;
this.x0 = 100;
this.nos = 0;
this.ch = 0;
}
onClipEvent (enterFrame) {
if (this.Akseleration>0) {
if (Key.isDown(Key.RIGHT)) {
if (this.lw._rotation<35) {
this.lw._rotation++;
this.rw._rotation++;
}
if (Akseleration>0) {
this._rotation += afront;
} else if (Akseleration<0) {
this.arear = math.atan((Akseleration-1)*-Akseleration*2.4);
this._rotation += arear;
}
} else if (Key.isDown(Key.LEFT)) {
if (this.lw._rotation>-35) {
this.lw._rotation--;
this.rw._rotation--;
}
if (Akseleration>0) {
this._rotation -= afront;
} else if (Akseleration<0) {
this.arear = math.atan((Akseleration-1)*-Akseleration*2.4);
this._rotation -= arear;
}
} else if (!Key.isDown(Key.RIGHT) && !Key.isDown(Key.LEFT)) {
this.lw._rotation = 0;
this.rw._rotation = 0;
}
var brake_koeff = br;
} else if (Akseleration<0) {
var brake_koeff = -br*2;
}
this._x = this.vx+this.x0;
this._y = this.vy+this.x0;
if (Key.isDown(Key.ENTER)) {
if (this.Akseleration<3) {
this.dl.play();
this.ch = 1;
point = new Object();
point.x = mc3._x;
point.y = mc3._y;
localToGlobal(point);
_root.man._x = point.x;
_root.man._y = point.y;
_root.mcc._x = point.x;
_root.mcc._y = point.y;
}
}
if (this.hitTest(_root.w)) {
_root.ma._alpha = 100;
_root.ma._x = _x;
_root.ma._y = _y;
_root.ma._rotation = _rotation;
} else if (this.hitTest(_root.p)) {
_root.ma._alpha = 100;
_root.ma._x = _x;
_root.ma._y = _y;
_root.ma._rotation = _rotation;
} else {
if (_root.ma._alpha>0) {
_root.ma._alpha -= 5;
}
}
this.vx += akseleration*math.sin(this._rotation*(math.pi/180));
this.vy -= akseleration*math.cos(this._rotation*(math.pi/180));
this.afront = math.atan((akseleration+1)*akseleration*2.4);
if (Key.isDown(Key.UP)) {
if (this.key.isdown(Key.SHIFT) && this.nos>0) {
this.nosz._alpha = 100;
this.nos -= 1;
if (this.Akseleration<this.maxspeed) {
this.Aksel_koeff = a+b*1.5;
}
} else {
this.Aksel_koeff = a+b;
this.nosz._alpha = 0;
}
if (this.Akseleration<this.MAXSpeed) {
this.Akseleration += aksel_koeff;
}
} else if (Key.isDown(Key.DOWN)) {
this.Akseleration -= brake_koeff;
}
if (!Key.isDown(Key.UP) && !Key.isDown(Key.DOWN)) {
if (this.Akseleration>0) {
this.Akseleration -= BreakPathKoeff;
if (this.Akseleration<0) {
this.Akseleration = 0;
}
} else if (this.Akseleration<0) {
this.Akseleration += BreakPathKoeff;
if (this.Akseleration>0.5) {
this.Akseleration = 0;
}
}
if (Key.isDown(Key.SPACE)) {
this.Akseleration /= 1.06;
}
}
}
Последний раз редактировалось iNils; 12.01.2007 в 19:51. |
|
|||||
|
меценат
|
//////////////////////////////////
/////создаём машинку =)///////////
//////////////////////////////////
this.createEmptyMovieClip("mc", 1);//здесь мы создаенм муви-клип оболочку, это не так обязательно просто изврат =) вы можете использовать свой обьект нарисованный в мувике дав ему на сцене имя //"mc"
with (this.mc) {//здесь мы рисуем то что будет в нашей оболочке муви-клипе с именем "mc"
lineStyle(2, 0x000000, 100);
beginFill(0x6633CC);
moveTo(-25, -25);
lineTo(-25, -25);
lineTo(25, -25);
lineTo(25, 25);
lineTo(-25, 25);
endFill();
}
///////////////////////////////////
///////задаем координаты на поле///
///////////////////////////////////
this.mc._x = 275;//здесь задаем первоначальные координаты расположения на по оси икс
this.mc._y = 200;//здесь по игрику
this.mc._rotation = -90;//этой командой мы задаем поворот нашей манинки если мы этого несделаем то она может ездить боком =) если машинка нарисована не програмно это необязательно развернуть можно вручную
////////////////////////////////////
////////задаём управление///////////
////////////////////////////////////
this.mc.onEnterFrame = function() {//этим мы создаем блок в котором будем писать команды которые будет выполнять наша машинка
if (Key.isDown(Key.RIGHT)) {//этой командой мы крутим машинку вправо
this._rotation += 3;//_rotation значит вращать
}
if (Key.isDown(Key.LEFT)) {//этой командай задаем поворот влево
this._rotation -= 3;
}
if (Key.isDown(Key.UP)) {//задаем движение вперед
this._y += 4*Math.sin(this._rotation*(Math.PI/180));//вычисляем синус
this._x += 4*Math.cos(this._rotation*(Math.PI/180));//вычисляем косинус угла поворота машинки переводя его в радианы,так же обратите внимание число 4 отвечает за величену радиуса поворота тоесть тем выше число тем больше радиус
}
if (Key.isDown(Key.DOWN)) {//задаем движение назад при этом скорость уменьшаем в 2 раза
this._y -= (4*Math.sin(this._rotation*(Math.PI/180)))/2;
this._x -= (4*Math.cos(this._rotation*(Math.PI/180)))/2;
}
};
P.S.2 За "zz" прошу прощения вы неподуйте что я кинулся опять во все тяжкие, просто я храню различные коды мои и чужие в текстовых документах вчера просто тупо скопировал .
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:36. |
|
|
« Предыдущая тема | Следующая тема » |
|
|