测试pixel_collide像素碰撞方法_蝴蝶闯隧道游戏

如本文章标有价格,需议价或其它事情商议请加微信scratch8

李兴球Python测试pixel_collide像素碰撞方法_蝴蝶闯隧道游戏
"""
   测试pixel_collide像素碰撞方法_蝴蝶闯隧道游戏.py。
   本程序需要gameturtle模块0.2版及以上支持。
   Image,tkinter,time模块等都在gameturtle模块中已导入 ,所以可以直接使用。
"""
__author__ = '李兴球'
__date__ = '2020/10/16'
__blog__ = 'www.lixingqiu.com'

from gameturtle import *

class Key:
    def __init__(self,cv,key):
        self._canvas = cv
        self._key = key
        self._down = False
        self._canvas.bind("" % key,self._press)        
        self._canvas.bind("" % key,self._release)
        
    def _press(self,event):
        self._down = True

    def _release(self,event):
        self._down = False

    def isdown(self):
      return self._down
    
# 加载蝴蝶图形资源
hudie = ['b1.png','b2.png']
hudie = [Image.open(im) for im in hudie]

# 加载背景图形资源
bgs = ['bg1.png','bg2.png','bg3.png']
bgs = [Image.open(im) for im in bgs]

root = Tk()
root.title('测试pixel_collide像素碰撞方法_蝴蝶闯隧道游戏')
root.resizable(False,False)                    # 窗口宽高不可调 

cv = Canvas(width=640,height=480,bg='#f0f0f0') # 带背景色的画布
cv.pack()

bg = Sprite(cv,bgs)                    # 实例化背景
h1 = Sprite(cv,hudie)                  # 实例化蝴蝶2 
h1.shapesize(0.2,0.2)

up_key = Key(cv,"Up")
down_key = Key(cv,"Down")
right_key = Key(cv,"Right")
left_key = Key(cv,"Left")

cv.focus_force() 
while True:
    h1.nextshape() 
    if up_key.isdown():
        #print('向上箭头按下')
        h1.addy(-1)
        if h1.collide(bg):h1.addy(1)
    if down_key.isdown():
        #print('向下箭头按下')
        h1.addy(1)
        if h1.collide(bg):h1.addy(-1)    
    if right_key.isdown():
        #print('向右箭头按下')
        h1.setheading(0)
        h1.addx(1)
        if h1.collide(bg):h1.addx(-1)
        if h1.xcor()> 640:
            bg.nextshape()
            h1.setx(0)
    if left_key.isdown():
        #print('向左箭头按下')
        h1.setheading(180)
        h1.addx(-1)
        if h1.collide(bg):h1.addx(1)    
    cv.update()                     # 更新画布显示
    time.sleep(0.01)


本站所有作品,教程等皆为原创,版权所有。只供个人及单位内部研究使用,对外展示或传播必需经本站同意,且注明来自本站。培训机构等用本站资源培训学生,需经本站授权。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。入住QQ群:225792826 和爱好者共同交流,并且能下载免费提供的Python资源(需提供真实姓名才可入群)
李兴球的博客_Python创意编程技术前沿_pygame » 测试pixel_collide像素碰撞方法_蝴蝶闯隧道游戏
scratch

学本领,探索更大的世界!

李兴球博客 风火轮编程主页