Python:
from pygame import *
win_width = 1650
win_height = 950
display.set_caption('name')
window = display.set_mode((win_width, win_height))
background = transform.scale(image.load('background.png'), (win_width, win_height))
class GameSprite(sprite.Sprite):
def __init__(self, img, width, height, x, y, speed):
super().__init__()
self.image = transform.scale(image.load(img), (width, height))
self.image.set_colorkey([0, 255, 255])
self.rect = self.image.get_rect()
self.rect.x = x
self.rect.y = y
self.speed = speed
def reset(self):
window.blit(self.image, (self.rect.x, self.rect.y))
class Player(GameSprite):
def __init__(self, img, width, height, x, y, speed, lives):
GameSprite.__init__(self, img, width, height, x, y, speed)
self.image = transform.scale(image.load(img), (width, height))
self.rect = self.image.get_rect()
self.rect.x = x
self.rect.y = y
self.speed = speed
self.lives = lives
def update(self):
keys = key.get_pressed()
if keys[K_LEFT] and self.rect.x > 20:
self.rect.x -= self.speed
if keys[K_RIGHT] and self.rect.x < 1140:
self.rect.x += self.speed
if keys[K_UP] and self.rect.y > 20:
self.rect.y -= self.speed
if keys[K_DOWN] and self.rect.y < 870:
self.rect.y += self.speed
def fire(self):
bullet = Bullet('rock.png', 11, 11,self.rect.x, self.rect.y, 8)
bullets.add(bullet)
#???????????
class Bullet(GameSprite):
def __init__(self, img, width, height, x, y, speed):
super().__init__(img, width, height, x, y, speed)
def update(self):
self.rect.y -= self.speed
if self.rect.y < 50:
self.kill()
player = Player('q.png', 60, 60, 350, 350, 5, 5)
bullets = sprite.Group()
game = True
while game:
window.blit(background,(0, 0))
player.reset()
player.update()
bullets.draw(window)
bullets.update()
display.update()
for i in event.get():
if i.type == QUIT:
game = False
if i.type == MOUSEBUTTONDOWN:
if i.button == 1:
player.fire()
Python:
if i.type == MOUSEMOTION:
print(mouse.get_pos())
Последнее редактирование: