2016-01-18 8 views

ответ

3

Это можно сделать изображение одного над другим. Вы можете рисовать столько изображений, сколько хотите друг над другом.

В принципе, когда вы рисуете изображение, вам необходимо предоставить позиции. Если вы предоставляете одни и те же позиции для нескольких изображений, в зависимости от порядка рисования изображений, они будут рисоваться один над другим.

Итак, скажем, у вас есть Танк и его пушка как отдельные изображения. То, что вы сделаете, это нарисовать танк на экране. Теперь вам нужно изображение пушки с прозрачным фоном и теми же размерами, что и резервуар (могут быть разных размеров), и нарисовать их в том же положении. Это даст иллюзию, что пушка прикреплена к Танку. Теперь вы можете повернуть эти 2 изображения отдельно.

Ниже приведен пример:

Sprite tankSprite = new Sprite(new Texture("tank.png")); 
Sprite turretSprite = new Sprite(new Texture("turret.png")); 

//Set the rotations 
tankSprite.setRotation(angle); 
turretSprite.setRotation(angle); 

//Set the positions 
tankSprite.setPosition(x, y); 
turretSprite.setPosition(x, y); 

//Draw the sprites, using spritebatch 
tankSprite.draw(batch); // Drawn first 
turretSprite.draw(batch); //Drawn over tank 

Скажем, это тело бак -

The tank

Допустим, это турель (пушка) -

enter image description here

Теперь это результат (i Пропускать фон) -

enter image description here

Я повернул башню до 90 градусов и танк на 0 градусов. Вы можете внести соответствующие изменения.

+0

Почему голос? Пожалуйста, сделайте комментарий, когда вы проголосуете. – Sneh

+0

Вы можете отображать маленький пример кода Пожалуйста. – jaspreetblue

+0

Подумайте, должно быть больше 20 канонов в углу угла на танке. И вам нужно переместить танк и повернуть его. Таким образом, все 20 орудий будут двигаться и вращаться сперва, я думал, что есть простой способ редактировать каждый канон, и когда танк перемещается, все каноны с баком - это одна единица, как одно изображение. – jaspreetblue

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