pyglet を使用して横スクロール ゲームを作成しようとしていますが、背景、キャラクター、地形を描くことができました。(私はGUIのことはかなり初めてです)問題は、プレイヤーがキャラクターを動かすと、地形がそれ自体を生成することを意図している(テラリアのようなゲームのように)ことですが、スプライト。私がこれについてどうするかについて何か考えはありますか?私が自分自身を明確にしていない場合は、お気軽に質問してください:)
編集:私がこれまで行ってきたのは、次のような各地形の変数を作成することです:
ground_1 = pyglet.sprite.Sprite(ground1, x=-100, y=200, batch = terrain)
ground = pyglet.sprite.Sprite(ground1, 0, y=200, batch = terrain)
ground2 = pyglet.sprite.Sprite(ground1, x=100, y = 200, batch = terrain)
ground3 = pyglet.sprite.Sprite(ground1, x=200, y = 200, batch = terrain)
ground4 = pyglet.sprite.Sprite(ground1, x=300, y = 200, batch = terrain)
ground5 = pyglet.sprite.Sprite(ground1, x=400, y = 200, batch = terrain)
ground6 = pyglet.sprite.Sprite(ground1, x=500, y = 200, batch = terrain)
ground7 = pyglet.sprite.Sprite(ground1, x=600, y = 200, batch = terrain)
ground8 = pyglet.sprite.Sprite(ground1, x=700, y = 200, batch = terrain)
ground9 = pyglet.sprite.Sprite(ground1, x=800, y = 200, batch = terrain)
ground10 = pyglet.sprite.Sprite(ground1, x=900, y = 200, batch = terrain)
ブロックにツリーがあるかどうかを確認するためのクラスも作成しました。
class block():
""" block """
def __init__(self,image,tree,grass,destroyed):
self.image = image
self.tree = tree
self.grass = grass
self.destroyed = destroyed
newGround1 = block(newGround,tree[treeR],grass[grassR],destroyed[destroyedR])
groundO = block(ground_1,False,False,False)
groundO1 = block(ground,True,False,False)
groundO2 = block(ground2,False,False,False)
groundO3 = block(ground3,False,False,False)
groundO4 = block(ground4,False,False,False)
groundO5 = block(ground5,False,False,False)
groundO6 = block(ground6,False,False,False)
groundO7 = block(ground7,False,False,False)
groundO8 = block(ground8,False,False,False)
groundO9 = block(ground9,False,False,False)
groundO10 = block(ground10,False,False,False)
しかし、必要なすべての地形に対してground2、ground3、ground4 ...を作成する必要があるのか 、それともそれを生成するより簡単な方法(おそらく無制限)があるのか 疑問に思っていました