海龟画图移动方式的箭头类

海龟画图移动方式的箭头类

以下是部分代码预览:

"""海龟画图移动方式的箭头类,这个程序设计了一个箭头类,实例化它会不断地朝向鼠标指针的方向,并且按前进或后退方向箭头会移动。
这是制作游戏的一个基本例程。"""

import pygame
from pygame.locals import *
import math

class Arrow():
    """箭头类,移动方式为朝向自己的方向移动"""

    def __init__(self, position,heading ):        
         
        self.raw_image=pygame.Surface((36,24))  # 新建原始图形       
        self.raw_image.set_colorkey((0,0,0))    # 设置不渲染颜色
        pointlist=[(0,7),(20,7),(20,0),(36,12),(20,24),(20,17),(0,17)]
        pygame.draw.polygon(self.raw_image,(255,255,255),pointlist)        
        self.image = self.raw_image        # 这个属性的初值和raw_image一样
        self.rect = self.raw_image.get_rect()       
        self.rect.center= position         # 初始坐标
        self.heading = heading             # 朝向

    def forward(self,distance):
        pass    
        
    def turn(self,angle):
        pass

    def setheading(self,heading):
        pass       
    
    def draw(self):
        """在screen上绘制箭头"""                
        screen.blit(self.image,self.rect)        


    def headingpoint(self,x,y):
        """朝向某点,算出新方向"""
        pass

def main(screensize):
    clock = pygame.time.Clock()
    arrow = Arrow((screensize.centerx,screensize.centery),0)
    running = True
    while running:
        for event in pygame.event.get():
            if event.type == QUIT:running= False                 
            pass

        mx,my = pygame.mouse.get_pos() 
        arrow.headingpoint(mx,my)
        
        screen.fill((112,0,23))        
        arrow.draw()
        pygame.display.update()
        clock.tick(30)
        
    pygame.quit()

    
if __name__=="__main__":
    
    pygame.init()
    screen = pygame.display.set_mode((480,360))
     
    screenrect = screen.get_rect()
    pygame.display.set_caption("pygame箭头类_朝向鼠标指针_作者:李兴球")

    main(screenrect)

 

如需要下载完整源代码及素材,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

李兴球

李兴球的博客是Python创意编程原创博客