Показать сообщение отдельно
Старый 27.07.2010, 04:41
dkrstudio вне форума Посмотреть профиль Отправить личное сообщение для dkrstudio Найти все сообщения от dkrstudio
  № 21  
Ответить с цитированием
dkrstudio

Регистрация: Jul 2010
Сообщений: 24
Код AS3:
//*****Переменные*****
var speed:Number = 0;
var maxSpeed:Number = 5
var gradus:Number = 0;
var G:Number = 3;
var radian:Number = (gradus * Math.PI)/180;
var speedX:Number = speed * Math.cos(radian);
var speedY:Number = speed * Math.sin(radian);
 
var a:Number = 0.4;//Ускорение
var friction:Number = 0.97;
 
//*****Переменные*****
 
//***Координаты***
MyCar_mc.x = 100;
MyCar_mc.y = 100;
//****Маркеры*****
var up:Boolean;
var down:Boolean;
var left:Boolean;
var right:Boolean;
//****Маркеры*****
addEventListener (Event.ENTER_FRAME, moveMyCar_mc);
function moveMyCar_mc (e:Event):void
{
 
if (up) {
		speed+=a&&speed<maxSpeed;
	}
	if (down) {
		speed-=a;
		//speed = -1;
	}
	if (left)
	{
		gradus = gradus - G;//MyCar_mc.x -= speed;//MyCar_mc.x = MyCar_mc.x - speed;//speedX -= a;
	}
 
	if (right)
	{
		gradus = gradus + G;//MyCar_mc.x += speed;//MyCar_mc.x = MyCar_mc.x + speed;//speedX -= a;
	}
	MyCar_mc.rotation = gradus;
 
 
	speedX = speedX * friction;
	speedY = speedY * friction;
 
	MyCar_mc.x = MyCar_mc.x + speedX;
	MyCar_mc.y = MyCar_mc.y + speedY;
	//****Условия*******
}
 
//***********************Клавиша нажата******************
stage.addEventListener (KeyboardEvent.KEY_DOWN, key_down);
function key_down (e:KeyboardEvent):void
{
	//****Условия*******
	if (e.keyCode == 38)
	{
		up = true;
	}
 
	if (e.keyCode == 40)
	{
		down = true;
	}
 
	if (e.keyCode == 37)
	{
		left = true;
	}
 
	if (e.keyCode == 39)
	{
		right = true;
	}
	//****Условия*******
}
//***********************Клавиша отпущена****************
//***********************Клавиша нажата******************
stage.addEventListener (KeyboardEvent.KEY_UP, key_up);
function key_up (e:KeyboardEvent):void
{
	//****Условия*******
	if (e.keyCode == 38)
	{
		up = false;
	}
 
	if (e.keyCode == 40)
	{
		down = false;
	}
 
	if (e.keyCode == 37)
	{
		left = false;
	}
 
	if (e.keyCode == 39)
	{
		right = false;
	}
	//****Условия*******
}
//***********************Клавиша отпущена****************
Вот код. работает только влево или вправо. поворачивается тоесть.

Код AS3:
//*****Переменные*****
var speed:Number = 0;
var gradus:Number = 0;
var G:Number = 3;
var radian:Number = (gradus * Math.PI)/180;
var speedX:Number = speed * Math.cos(radian);
var speedY:Number = speed * Math.sin(radian);
 
var a:Number = 0.4;//Ускорение
var friction:Number = 0.97;
 
//*****Переменные*****
 
//***Координаты***
MyCar_mc.x = 100;
MyCar_mc.y = 100;
//****Маркеры*****
var up:Boolean;
var down:Boolean;
var left:Boolean;
var right:Boolean;
//****Маркеры*****
addEventListener (Event.ENTER_FRAME, moveMyCar_mc);
function moveMyCar_mc (e:Event):void
{
 
	if (up)
	{
		speedY = speedY - a;//MyCar_mc.y -= speed;//MyCar_mc.y = MyCar_mc.y - speed; //speedY -= a;
	}
 
	if (down)
	{
		speedY = speedY + a;//MyCar_mc.y += speed;//MyCar_mc.y = MyCar_mc.y + speed;//speedY += a;
	}
 
	if (left)
	{
		gradus = gradus - G;//MyCar_mc.x -= speed;//MyCar_mc.x = MyCar_mc.x - speed;//speedX -= a;
	}
 
	if (right)
	{
		gradus = gradus + G;//MyCar_mc.x += speed;//MyCar_mc.x = MyCar_mc.x + speed;//speedX -= a;
	}
	MyCar_mc.rotation = gradus;
 
 
	speedX = speedX * friction;
	speedY = speedY * friction;
 
	MyCar_mc.x = MyCar_mc.x + speedX;
	MyCar_mc.y = MyCar_mc.y + speedY;
	//****Условия*******
}
 
//***********************Клавиша нажата******************
stage.addEventListener (KeyboardEvent.KEY_DOWN, key_down);
function key_down (e:KeyboardEvent):void
{
	//****Условия*******
	if (e.keyCode == 38)
	{
		up = true;
	}
 
	if (e.keyCode == 40)
	{
		down = true;
	}
 
	if (e.keyCode == 37)
	{
		left = true;
	}
 
	if (e.keyCode == 39)
	{
		right = true;
	}
	//****Условия*******
}
//***********************Клавиша отпущена****************
//***********************Клавиша нажата******************
stage.addEventListener (KeyboardEvent.KEY_UP, key_up);
function key_up (e:KeyboardEvent):void
{
	//****Условия*******
	if (e.keyCode == 38)
	{
		up = false;
	}
 
	if (e.keyCode == 40)
	{
		down = false;
	}
 
	if (e.keyCode == 37)
	{
		left = false;
	}
 
	if (e.keyCode == 39)
	{
		right = false;
	}
	//****Условия*******
}
//***********************Клавиша отпущена****************
А вот код Изменено тока два условия и машинка поворачивается только в прав и влево и движдется вверх или вниз! так как зделать так чтобыона двигалась по направлению движения. я веть уже разложил главный вектор скорости по speedX и SpeedY?????????????????????
__________________
Ну что с этим делать


Последний раз редактировалось iNils; 27.07.2010 в 12:22.