Как заставить исходную точку снарядов двигаться вместе с игроком? ⇐ Python
Как заставить исходную точку снарядов двигаться вместе с игроком?
В тот момент, когда я запускаю свою программу, маркеры работают идеально, как и предполагалось. Пули стреляют в направлении мыши, когда я щелкаю левой кнопкой мыши, независимо от направления. (Синий кружок показывает, где находится моя мышь. В НАЧАЛЕ ПРОГРАММЫ
Проблема возникает при движении персонажа. На этот раз, когда я перемещаюсь в правый верхний угол окна и держу мышь примерно в том же направлении, что и в начале, пули больше не стреляют в сторону моей позиции мыши, когда я щелкаю левой кнопкой мыши. ПРИ ПЕРЕМЕЩЕНИИ В ПРАВЫЙ НАВЕРХ
Я предполагаю, что это как-то связано с тем, где находится источник пули внутри окна, но я действительно глуп.
КЛАСС ИГРОКОВ
класс игрока(объект): def __init__(self, x, y, ширина, высота): self.x = x self.y = y self.width = ширина self.height = высота self.vel = 5 self.left = Ложь self.right = Ложь self.up = Ложь # self.down = Ложь # self.walkCount = 0 self.стоящий = Истина само.здоровье = 200 def draw(сам, окно): если self.walkCount + 1 >= 27: self.walkCount = 0 если нет (самостоятельное положение): если сам.левый: window.blit(walkLeft[self.walkCount // 3], (self.x, self.y)) self.walkCount += 1 Элиф себя.право: window.blit(walkRight[self.walkCount // 3], (self.x, self.y)) self.walkCount += 1 Элиф self.up: window.blit(walkUp[self.walkCount // 3], (self.x, self.y)) self.walkCount += 1 Элиф себя.вниз: window.blit(walkDown[self.walkCount // 3], (self.x, self.y)) self.walkCount += 1 еще: если я прав: window.blit(walkRight[0], (self.x, self.y)) еще: window.blit(walkLeft[0], (self.x, self.y)) защита take_damage (сам): само.здоровье -= 2 если само.здоровье man.vel: man.x -= man.vel man.left = Истина man.right = Ложь man.стоящий = Ложь ключи elif[pygame.K_d] и man.x vel: ман.у -= ман.вел man.left = Ложь man.right = Ложь man.up = Истина man.down = Ложь man.стоящий = Ложь ключи elif[pygame.K_s] и y
В тот момент, когда я запускаю свою программу, маркеры работают идеально, как и предполагалось. Пули стреляют в направлении мыши, когда я щелкаю левой кнопкой мыши, независимо от направления. (Синий кружок показывает, где находится моя мышь. В НАЧАЛЕ ПРОГРАММЫ
Проблема возникает при движении персонажа. На этот раз, когда я перемещаюсь в правый верхний угол окна и держу мышь примерно в том же направлении, что и в начале, пули больше не стреляют в сторону моей позиции мыши, когда я щелкаю левой кнопкой мыши. ПРИ ПЕРЕМЕЩЕНИИ В ПРАВЫЙ НАВЕРХ
Я предполагаю, что это как-то связано с тем, где находится источник пули внутри окна, но я действительно глуп.
КЛАСС ИГРОКОВ
класс игрока(объект): def __init__(self, x, y, ширина, высота): self.x = x self.y = y self.width = ширина self.height = высота self.vel = 5 self.left = Ложь self.right = Ложь self.up = Ложь # self.down = Ложь # self.walkCount = 0 self.стоящий = Истина само.здоровье = 200 def draw(сам, окно): если self.walkCount + 1 >= 27: self.walkCount = 0 если нет (самостоятельное положение): если сам.левый: window.blit(walkLeft[self.walkCount // 3], (self.x, self.y)) self.walkCount += 1 Элиф себя.право: window.blit(walkRight[self.walkCount // 3], (self.x, self.y)) self.walkCount += 1 Элиф self.up: window.blit(walkUp[self.walkCount // 3], (self.x, self.y)) self.walkCount += 1 Элиф себя.вниз: window.blit(walkDown[self.walkCount // 3], (self.x, self.y)) self.walkCount += 1 еще: если я прав: window.blit(walkRight[0], (self.x, self.y)) еще: window.blit(walkLeft[0], (self.x, self.y)) защита take_damage (сам): само.здоровье -= 2 если само.здоровье man.vel: man.x -= man.vel man.left = Истина man.right = Ложь man.стоящий = Ложь ключи elif[pygame.K_d] и man.x vel: ман.у -= ман.вел man.left = Ложь man.right = Ложь man.up = Истина man.down = Ложь man.стоящий = Ложь ключи elif[pygame.K_s] и y
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как переопределить вращение сплайна для автомобиля, управляемого игроком, в гоночной игре?
Anonymous » » в форуме C# - 0 Ответы
- 55 Просмотры
-
Последнее сообщение Anonymous
-