以下是部分代码预览:
"""
Sprite Facing Left or Right
角色面向左或右造型示例,这个程序需要街机模块支持。2019-2-28最新版本安装方法:
在命令提示符中输入以下命令:pip install arcade==2.0.0b4
如果缺少ffmpeg,则再次用pip命令安装即可。
Arcade模块是用来制作街机游戏的一个库。
"""
import arcade # 导入街机模块
import os # 导入os模块
SPRITE_SCALING = 0.5 # 常量定义,角色比例
SCREEN_WIDTH = 800 # 常量定义,屏幕宽度
SCREEN_HEIGHT = 600 # 常量定义,屏幕高度
SCREEN_TITLE = "角色面向左或右造型示例"
MOVEMENT_SPEED = 5
TEXTURE_LEFT = 0
TEXTURE_RIGHT = 1
class Player(arcade.Sprite):
def __init__(self):
super().__init__()
# 缺省是朝右方向的
self.set_texture(TEXTURE_RIGHT) # TEXTURE_RIGHT就是1
def update(self):
self.center_x += self.change_x
self.center_y += self.change_y
class MyGame(arcade.Window):
"""
Main application class.
"""
def __init__(self, width, height, title):
"""
Initializer
"""
# 调用父类初始化方法
super().__init__(width, height, title)
# 设置工作目录
file_path = os.path.dirname(os.path.abspath(__file__))
os.chdir(file_path)
# 所有角色列表的定义
self.all_sprites_list = None
# 玩家角色的定义
self.player_sprite = None
# 背景颜色的设置
arcade.set_background_color(arcade.color.AMAZON)
def setup(self):
""" 设置游戏,初始化变量. """
# 实例化所有角色列表
self.all_sprites_list = arcade.SpriteList()
# 实例化玩家对象
self.player_sprite = Player()
self.player_sprite.center_x = SCREEN_WIDTH / 2 # 屏幕x中央
self.player_sprite.center_y = SCREEN_HEIGHT / 2 # 屏幕y中央
self.all_sprites_list.append(self.player_sprite)# 添加到所有角色列表
def on_draw(self):
"""
Render the screen.
"""
# 开始重画所有
arcade.start_render()
# 正式地画所有角色.
self.all_sprites_list.draw()
def update(self, delta_time):
""" Movement and game logic """
# 所有角色更新坐标等等
self.all_sprites_list.update()
def on_key_press(self, key, modifiers):
"""按键检测 """
def on_key_release(self, key, modifiers):
"""松键检测 """
def main():
""" Main method """
window = MyGame(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE)
window.setup()
arcade.run()
if __name__ == "__main__":
main()
如需要查看完整代码,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)
