2014-11-12 2 views
1

Я использую AndEngine LevelLoader в Gles2 для загрузки прямоугольников, которые образуют стены для моей игры.andengine load angled rectangle

<entity x="0" y="477" width="800" height="10" type="wall"/> 
<entity x="800" y="477" width="240" height="10" angle="315" type="wall"/> 

И используя следующий код, чтобы создать прямоугольник

Rectangle rect = new Rectangle(x, y, 
      width, height, activity.getVertexBufferObjectManager()); 
    rect.setRotation(angle); 
    Body block = PhysicsFactory.createBoxBody(this.mPhysicsWorld, rect, 
      BodyType.StaticBody, objectFixtureDef); 

Это работает, но то, что я хочу, изображение ниже показывает, что происходит. Существуют ли какие-либо формулы для определения того, какое значение Y запускает прямоугольник, чтобы он соответствовал, или как преобразовать прямоугольник так, чтобы он начинался рядом с другим?

Заранее спасибо. Rotated rectangle level

+0

Вы используете Глес 2.0 Якорь Center? – ranifisch

+0

Нет, не Anchor Center просто ветка GLES 2. –

ответ

0

В Entity классе, у вас есть функция под названием setRotationCenter, Вы можете использовать его, чтобы изменить точку, где повернуть объект. По умолчанию он инициализируется как центр объекта.

использование:

rect.setRotationCenter(0,0) 
+0

Спасибо, я попробовал это, но я получил угловой прямоугольник Теперь плавающий на некоторое расстояние над горизонтальным один прямоугольником Rect = нового прямоугольником (x, y, \t \t \t \t ширина, высоту, activity.getVertexBufferObjectManager()); \t \t rect.setRotationCenter (0, 0); \t \t rect.setRotation (angle); –

+0

Кроме того, установка rotationCenter также не обновляет тело, так что вещи отскакивают от исходного положения прямоугольника без вращения. –

+0

Мой плохой, извините .. не специалист с расширением Box2D. Это может вам помочь? http://www.andengine.org/forums/post24493.html#p24493 – ranifisch

 Смежные вопросы

  • Нет связанных вопросов^_^