Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.05.2007, 02:07
shaltay вне форума Посмотреть профиль Отправить личное сообщение для shaltay Посетить домашнюю страницу shaltay Найти все сообщения от shaltay
  № 1  
Ответить с цитированием
shaltay
 
Аватар для shaltay

Регистрация: May 2006
Сообщений: 162
Отправить сообщение для shaltay с помощью ICQ
Question машина не едет!!

Почему не едет моя машинка??! Что не так в этом коде? Поместил его в тот-же кадр, где и она сама находится.... машину зовут mc ...
Flash 2004

Код:
var xSpeed = 0;
var ySpeed = 0;
var speedUp = 0.5;
var accelerate = 1;
var decay=0.9;
var maxspeed=25;
mc._rotation=0;

mc.onEnterFrame=function () {
	if (key.isDown (Key.SPACE)) accelerate+=1;
	else accelerate*=1-decay;
	if (accelerate<1) accelerate=1;
	
if(Key.isDown (Key.LEFT)) xSpeed-=speedUp*accelerate;
	else if (Key.isDown (Key.RIGHT)) xSpeed+=speedUp*accelerate;
	else xSpeed*=decay;
if(Key.isDown(Key.UP)) ySpeed+=speedUp*accelerate;
	else if(Key.isDown (Key.DOWN)) ySpeed+=speedUp*accelerate;
	else ySpeed*=decay;
	
var speed=Math.sqrt(xSpeed*xSpeed+ySpeed*ySpeed);
if (speed>=maxSpeed) {
	trace(Math.sqrt(xSpeed*xSpeed+ySpeed*ySpeed));
	xSpeed*=maxSpeed/speed;
	ySpeed*=maxSpeed/speed;
}
mc._x+=xSpeed;
mc._y+=ySpeed;
mc._rotation = Math.atan2 (ySpeed, xSpeed) / (Math.PI/180)
if(mc._x>Stage.width) mc._x=0;
if (mc._x<0) mc._x=550;
if(mc._y>Stage.height) mc._y=.0;
if (mc._y<0) mc._y=400;
}


Последний раз редактировалось etc; 23.05.2007 в 13:40.
Старый 23.05.2007, 02:12
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
shaltay, оформите код в своем посте тегами [code][/code].

Старый 23.05.2007, 10:05
CorC вне форума Посмотреть профиль Отправить личное сообщение для CorC Найти все сообщения от CorC
  № 3  
Ответить с цитированием
CorC
 
Аватар для CorC

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
Код:
	if (speed>maxSpeed) {
		trace(Math.sqrt(xSpeed*xSpeed+ySpeed*ySpeed));
		xSpeed *= maxSpeed/speed;
		ySpeed *= maxSpeed/speed;
	}
Было деление на 0, после 1 застоя. Так едет, правда криво
__________________
"We Are The Champions My Friends!" Queen

Старый 23.05.2007, 21:54
shaltay вне форума Посмотреть профиль Отправить личное сообщение для shaltay Посетить домашнюю страницу shaltay Найти все сообщения от shaltay
  № 4  
Ответить с цитированием
shaltay
 
Аватар для shaltay

Регистрация: May 2006
Сообщений: 162
Отправить сообщение для shaltay с помощью ICQ
все равно не едет....

Старый 23.05.2007, 22:04
Molecula вне форума Посмотреть профиль Отправить личное сообщение для Molecula Найти все сообщения от Molecula
  № 5  
Ответить с цитированием
Molecula
 
Аватар для Molecula

Регистрация: Apr 2007
Сообщений: 1,369
После поправок CorC-а едет.
+ мувик надо в центр ставить.

Старый 23.05.2007, 23:15
D12 вне форума Посмотреть профиль Отправить личное сообщение для D12 Найти все сообщения от D12
  № 6  
Ответить с цитированием
D12
меценат
 
Аватар для D12

блогер
Регистрация: Jan 2004
Адрес: D
Сообщений: 1,592
Записей в блоге: 2
Код:
//////////////////////////////////
/////создаём машинку =)///////////
//////////////////////////////////
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;
	}
};
или

Код:
grad = 0;
speed = 0;
//=====================
this.onEnterFrame = function() {
	if ((up == "1") and (speed<50)) {
		if (speed>=0) {
			speed += 5/(1+speed);
		}
		if (speed<0) {
			speed += 1;
		}
	}
	if ((up == "2") and (speed>0)) {
		if (speed>=0.25) {
			speed -= 0.25;
		}
		if (speed<0.25) {
			speed = 0;
		}
	}
	if ((down == "1") and (speed>-20)) {
		if (speed>0) {
			speed -= 1.5;
		}
		if (speed<=0) {
			speed -= 0.5;
		}
	}
	if ((down == "2") and (speed<0)) {
		if (speed<=-0.25) {
			speed += 0.25;
		}
		if (speed>-0.25) {
			speed = 0;
		}
	}
	if ((left == "1") and (speed>0)) {
		grad -= speed/2;
	}
	if ((right == "1") and (speed>0)) {
		grad += speed/2;
	}
	if ((left == "1") and (speed<0)) {
		grad -= speed/2;
	}
	if ((right == "1") and (speed<0)) {
		grad += speed/2;
	}
	x = Math.cos((grad+90)*3.14/180)*speed;
	y = Math.sin((grad+90)*3.14/180)*speed;
	setProperty("/ta4ka", _x, getProperty("/ta4ka", _x)-x);
	setProperty("/ta4ka", _y, getProperty("/ta4ka", _y)-y);
	setProperty("/ta4ka", _rotation, grad);
	if (speed>0) {
		t_grad = 208+speed*6;
		setProperty("/ta4ka/ta4ka_dop", _height, 132-speed*39.6/50);
		setProperty("/ta4ka/ta4ka_dop", _width, 78-speed*23.4/50);
	}
	if (speed<0) {
		t_grad = 208-speed*6;
		setProperty("/ta4ka/ta4ka_dop", _height, 132+speed*39.6/50);
		setProperty("/ta4ka/ta4ka_dop", _width, 78+speed*23.4/50);
	}
	// =============== left =======================  
	if (Key.isDown(Key.LEFT)) {
		left = "1";
	}
	if (not (Key.isDown(Key.LEFT))) {
		left = "2";
	}
	// ================== right ============================  
	if (Key.isDown(Key.RIGHT)) {
		right = "1";
	}
	if (not (Key.isDown(Key.RIGHT))) {
		right = "2";
	}
	// ===================== up =====================  
	if (Key.isDown(Key.UP)) {
		up = "1";
	}
	if (not (Key.isDown(Key.UP))) {
		up = "2";
	}
	// ====================== down =====================  
	if (Key.isDown(Key.DOWN)) {
		down = "1";
	}
	if (not (Key.isDown(Key.DOWN))) {
		down = "2";
	}
};
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники

Старый 24.05.2007, 09:45
CorC вне форума Посмотреть профиль Отправить личное сообщение для CorC Найти все сообщения от CorC
  № 7  
Ответить с цитированием
CorC
 
Аватар для CorC

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
Цитата:
Сообщение от shaltay
все равно не едет....
Неправда, посмотрите внимательно что я поменял.
__________________
"We Are The Champions My Friends!" Queen

Старый 24.05.2007, 16:57
Sp1R1t вне форума Посмотреть профиль Отправить личное сообщение для Sp1R1t Найти все сообщения от Sp1R1t
  № 8  
Ответить с цитированием
Sp1R1t
[+1 31.05.07]

Регистрация: Apr 2007
Сообщений: 41
D12, второй код сжечь!!!....а в первый мона еще и дрифт добавить

Старый 24.05.2007, 17:00
motor4ik вне форума Посмотреть профиль Отправить личное сообщение для motor4ik Посетить домашнюю страницу motor4ik Найти все сообщения от motor4ik
  № 9  
Ответить с цитированием
motor4ik
 
Аватар для motor4ik

Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
D12 чето она назад поворачивает неправильно, маршрутка так не издит брат )))

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:49.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 12:49.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.