设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 9416|回复: 1
打印 上一主题 下一主题

关于pygame打飞机的

[复制链接]

3

主题

0

好友

41

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2017-2-10 22:21:45 |只看该作者 |倒序浏览
#先说下,我想先弄好多家敌机出来,下面是代码
# -*- coding: UTF-8 -*-
import pygame
from sys import exit
import random
class DJ:
    def _init_(self):
        self.x = 200
        self.y = -50
        self.image = pygame.image.load('dj.png').convert_alpha()
    def move(self):
        if self.y < 800:
            self.y += 1#每帧移动两个像素
        else:
            self.y = -50
    def restart(self):
        self.x = random.randint(50, 400)
        self.y = random.randint(-200, -50)
        self.speed = random.random() + 1
pygame.init()
screen = pygame.display.set_mode((630,630),0,24)#创建窗口和你准备的图片大小一样
pygame.display.set_caption("雅玛碟")#设置标题用的
background = pygame.image.load('123.jpg').convert()#加载并转换图像
diji=DJ()
diji._init_()
djs=[]
for i in range(5):
    djs.append(DJ())
while True:
    screen.blit(background,(0,0))#将背景图片挂上去
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            exit()
    for diji in djs:
        diji._init_()
        diji.move()
        diji.restart()
        screen.blit(diji.image,(diji.x,diji.y))#敌机的图片搞到屏幕上
    pygame.display.update()

为啥敌机不出来呢?



回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2017-2-11 13:16:54 |只看该作者
你每一帧里面都restart了吧,这样它永远飞不下来


另外 __init__()应该是两个下划线,会在创建时自动调用的,不用你这样写
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-4-27 11:58 , Processed in 0.023233 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部