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

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 26.02.2013, 02:19
taluks вне форума Посмотреть профиль Отправить личное сообщение для taluks Найти все сообщения от taluks
  № 6  
Ответить с цитированием
taluks

Регистрация: Jan 2013
Сообщений: 38
взял я и написал по примеру как на с++ тут,
эффекта нет. что я делаю не так?
Код AS3:
package src.objects
{
	import flash.display.MovieClip;
	import Box2D.Dynamics.b2BodyDef;
	import Box2D.Dynamics.b2Body;
	import src.Game;
	import Box2D.Collision.Shapes.b2PolygonShape;
	import Box2D.Common.Math.b2Vec2;
	import flash.events.KeyboardEvent;
	import flash.events.Event;
 
	public class Car extends MovieClip
	{
		private var line:uint;
		private var body:b2Body;
		public function Car()
		{
			this.addEventListener(Event.ADDED_TO_STAGE,init);
		}
		private function init(e:Event):void
		{
			stage.addEventListener(KeyboardEvent.KEY_DOWN,acceleration);
		}
		public function create():void
		{
			var bodyDef:b2BodyDef= new b2BodyDef();
			bodyDef.type = b2Body.b2_dynamicBody;
			bodyDef.position = new b2Vec2(100 / Game.meters,100/ Game.meters);
			bodyDef.fixedRotation = true;
 
			bodyDef.userData = this;
 
			bodyDef.allowSleep=false;
 
			body = Model.model.world.CreateBody(bodyDef);
 
			var polygonShape:b2PolygonShape= new b2PolygonShape();
			polygonShape.SetAsBox(15/Game.meters,30/Game.meters);
 
			body.CreateFixture2(polygonShape,1);
 
		}
		private function acceleration(e:KeyboardEvent):void
		{
			var  desiredVel:Number =0;
			var vel:b2Vec2=body.GetLinearVelocity();
 
			switch(e.keyCode)
			{
				case 37:
				desiredVel=-5;
				break;
				case 38:
				break;
				case 39:
				desiredVel=5;
				break;
				case 40:
				desiredVel=0;
				break;
			}
			var velChange:Number=desiredVel-vel.x;
			var force:Number=body.GetMass() * velChange / (1/stage.frameRate);
			body.ApplyForce(new b2Vec2(force,0),body.GetWorldCenter());
			trace(force);
 
		}
 
	}
 
}
Вложения
Тип файла: swf tst.swf (59.6 Кб, 49 просмотров)

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

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

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


 


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


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