python游戏编程必备_向后滚动的背景三版本

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

李兴球Python向后滚动的背景

在电子游戏开发中,我们可以看到角色向前移动,但是它的x坐标并没有改变,这都是由于相对运动所导致的。实际上是背景图片在向后移动。
下面是版本一,用纯粹的turtle模块制作的.

"""
   turtle版向后滚动的背景.py
   本程序把两个和屏幕大小一样的海龟对象,
   错开屏幕宽度的距离,以实现向后滚动效果。
"""
import time
from turtle import Turtle,Screen,TK,Shape

w,h = 480,360 
screen = Screen()
screen.tracer(0,0)
screen.setup(480,360)
screen.title('turtle版向后滚动的背景by李兴球')

bg = TK.PhotoImage(file='1.png')  
sp = Shape('image',bg)            # 新建造型
screen.addshape('bg',sp)          # 把造型注册到屏幕

bg1 = Turtle(shape='bg')          # 新建背景1  
bg1.penup()                       # 背景1抬笔 
bg1.speed(0)
bg2 = bg1.clone()                 # 克隆背景1为bg2 
bg2.setx(w)                       # 错位bg2

while 1:
    pass

下面是有tkinter制作的版本。

"""
tkinter版向后滚动的背景.py
本程序在画布上新建两张图片,
并且使它们错开画布的一个宽度距离,
通过画布的move方法移它们,从而实现滚动背景效果。
"""
import time
from tkinter import *
from PIL import Image,ImageTk

root = Tk()
root.title('kinter版向后滚动的背景by李兴球')

w,h = 480,360
cv = Canvas(width=w,height=h)                  # 新建画布
cv.pack()

bgpic = Image.open('1.png')
bgpic = ImageTk.PhotoImage(bgpic)

bg1 = cv.create_image((w/2,h/2),image=bgpic)   # 创建图像bg1
bg2 = cv.create_image((1.5*w,h/2),image=bgpic) # 创建图像bg2

while True:
    pass

下面是用gameturtle模块制作的版本,此版本制作的代码最简单,最好理解。

"""
   gameturtle版向后滚动的背景.py
   本程序新建两个角色,通过错开一个画布宽度的范围,
   从而实现向后滚动的背景效果。
"""
from gameturtle import *

root = Tk()
root.title('gameturtle版向后滚动的背景by李兴球')

w,h = 480,360
cv = Canvas(width=w,height=h)
cv.pack()

bgpic = Image.open('1.png')
bg1 = GameTurtle(cv,bgpic)                 # 新建背景1(默认在中间)
bg2 = GameTurtle(cv,bgpic,pos=(1.5*w,h/2)) # 新建背景2

while True:
    bg1.addx(-2)                           # 背景1的x坐标减小 
    if bg1.xcor() <= -w/2:bg1.setx(1.5*w) 
    bg2.addx(-2)
    if bg2.xcor() <= -w/2:bg2.setx(1.5*w)  # 背景2的x坐标减小
    cv.update()                            # 更新画布显示
    time.sleep(0.01)

需要以上三个程序完整源代码,及相关素材请扫码付款后自行下载,

VIP免费查看

已有0人支付

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

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

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