スタディングテックのQ&A

ミッション4です。オブジェクトの生成が上手く行えていないのか…

スタディング受講者
質問日:2024年11月27日
ミッション4です。オブジェクトの生成が上手く行えていないのか、敵の配置が出来ません。

self.enemies.update(self.screen, self.keys)



self.enemies = game_object.EnemiesGroup()



class Enemy(sprite.Sprite):
def _init_(self, row, column, img):
sprite.Sprite.__init__(self)
self.row = 3
self.column = 10
self.image = transform.scale(img, (55, 35))
self.rect = self.image.get_rect()

def update(self, screen, keys):
screen.blit(self.image, self.rect)

class EnemiesGroup (sprite.Group):
def __init__(self, colums, rows, image):
sprite.Group.__init__(self)
blocker = game_object.Blocker(10, GREEN, 3, 10)
blocker.rect.x = 50 + (200 * number) + (column * blocker.width)
blocker.rect.y = BLOCKERS_POSITION + (row * blocker.height)
blockerGroup.add(blocker)
self.make_enemies()

def make_enemies(self):
for row in range(self.rows):
for column in range(self.columns):
enemy = Enemy(row, column, self.enemy_image)
enemy.rect.x = 150 + (column * 50)
enemy.rect.y = 65 + (row * 45)
self.add(enemy)


def update(self, screen, keys):
past = time.get_ticks()
if past - self.timer > self.moveTime:
if self.direction == 1:
max_move = self.rightMoves + self.rightAddMove
else:
max_move = self.leftMoves + self.leftAddMove

if self.moveNumber >= max_move:
self.leftMoves =30 + self.rightAddMove
self.rightMoves = 30 + self.leftAddMove
self.direction *= -1
self.moveNumber = 0
self.bottom = 0


game = SpaceShooting()
game.main()

参考になった 0
閲覧 10

回答

スタディングテックKAMAKEスタッフ 講師
公式
回答日:2024年11月28日
回答を見たり、質問するには
対象のコースを購入する必要があります。