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

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

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

Регистрация: Jul 2009
Сообщений: 57
По умолчанию box2d

К одному телу прикрепляю несколько шейпов, каждый шейп имеет свою картинку. Как сделать отображение этих картинок?
Код AS3:
var body:b2Body;
var bodyDef:b2BodyDef;
 
bodyDef = new b2BodyDef();
bodyDef.position.x =10;
bodyDef.position.y =4;
body = m_world.CreateBody(bodyDef);
 
addPolygonDef(new b2Vec2(0,0));
addPolygonDef(new b2Vec2(0.6,0));
addPolygonDef(new b2Vec2(1.2,0));
addPolygonDef(new b2Vec2(1.2,0.6));
 
body.SetMassFromShapes();
 
private function addPolygonDef(v:b2Vec2):void{
	var ShapeDef:b2PolygonDef=new b2PolygonDef();
	ShapeDef.SetAsOrientedBox(0.3, 0.3,v,0);
	ShapeDef.density = 1;
	ShapeDef.friction = 1;
	ShapeDef.restitution = 0.3;
	ShapeDef.userData = new PhysBox();
	ShapeDef.userData.width = 18; 
	ShapeDef.userData.height = 18; 
	addChild(ShapeDef.userData);
	body.CreateShape(ShapeDef);
}
При таком отображении все картинки тела отображаются друг на друге
Код AS3:
public function Update(e:Event):void{
 
	m_world.Step(m_timeStep, m_iterations);
 
	for (var bb:b2Body = m_world.m_bodyList; bb; bb = bb.m_next)
		for (var bs:b2Shape = bb.m_shapeList; bs; bs = bs.m_next){
			if (bs.m_userData is Sprite){
				bs.m_userData.x = bb.GetPosition().x * 30;
				bs.m_userData.y = bb.GetPosition().y * 30;
				bs.m_userData.rotation = bb.GetAngle() * (180/Math.PI);
 
			}
		}
}
Что изменить?
Также интересно услышать другие варианты создания фигурок для тетриса

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

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

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


 


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


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