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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.05.2015, 04:39
neonoviiwolf вне форума Посмотреть профиль Отправить личное сообщение для neonoviiwolf Найти все сообщения от neonoviiwolf
  № 1  
Ответить с цитированием
neonoviiwolf

Регистрация: Jun 2014
Сообщений: 558
По умолчанию Вопрос по Box2D, как делать правильно

Добрый день!
Щас впервые щупаю Box2D, появился вопрос.
Что я делаю, создаю в классе Main b2World, задаю гравитацию и т.п. как обычно.
Дальше у меня есть мувик mainShip, создаю класс, который его наследует и для того, что бы привязать его к физике, в этот класс кидаю ссылку на b2World из Main, для того, что бы он привязался к миру (в других классах будут другие мувики/спрайты, которые будут тож участвовать в физике). Ну в общем то всё заработало, но хотелось бы ещё в самом начале спросить, именно так делают или есть варианты проще/эффективнее ?

Код AS3:
package MainShip
{
	import Box2D.Collision.Shapes.b2PolygonShape;
	import Box2D.Common.Math.b2Vec2;
	import Box2D.Dynamics.b2Body;
	import Box2D.Dynamics.b2BodyDef;
	import Box2D.Dynamics.b2Fixture;
	import Box2D.Dynamics.b2World;
	import flash.events.Event;
 
	public class MainShipClass extends ship_mc
	{
		private var world:b2World;
		private var body:b2Body;
		private var bodyDef:b2BodyDef;
		private var bodyShapePoligon:b2PolygonShape;
		private var fixture:b2Fixture;
		private var meters:Number = 30; //соотношения пикселей к метрам
 
		public function MainShipClass(_world:b2World)
		{
			scaleX = 0.35;
			scaleY = 0.35;
			x = 800;
			y = 525;
			this.world = _world;
			objectBox2D();
		}
 
		private function objectBox2D():void
		{
			bodyDef = new b2BodyDef();
			bodyDef.type = b2Body.b2_dynamicBody;
			bodyDef.position.Set(800 / meters, 525 / meters);
 
			body = world.CreateBody(bodyDef);
			bodyShapePoligon = new b2PolygonShape();
 
			bodyShapePoligon = new b2PolygonShape(); //создаем шейп
			bodyShapePoligon.SetAsArray([b2Vec2.Make(-1.6, 1.3), b2Vec2.Make(0, -1.8), b2Vec2.Make(1.6, 1.3)], 3);
 
			body.CreateFixture2(bodyShapePoligon, 3); //крепим к телу
 
		}
	}
}
второе, пока не разобрался, как заставить мувик двигаться в месте с объектом box2d?

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

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

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


 


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


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