python绘制月亮

导语:中秋将至,用python绘制一个月亮。给身边的人带来惊喜和浪漫。

1.引言:

效果如下:
在这里插入图片描述

2.代码展示:

from ursina import *
def input(key):
    if key == "escape":
        quit()
def update():
    # 月亮的旋转速度
    entity.rotation_y += 0.5
    entity.rotation_x += 1
    entity.rotation_z += 0.5
def main():
    # 设置形状并加载图像
    entity.model = "sphere"
    entity.texture = "./Moon.png"
    # 设置旋转角及远近
    entity.scale = 2
    entity.rotation_x = 45
    entity.rotation_y = 45
    entity.rotation_z = 45
    # 加载音频
    Audio("./2.mp3", loop=True, pitch=random.uniform(.5, 1))
    # 创建背景图像实体
    background = Entity(model='quad', texture='./background.png', scale=(16, 9, 1))
    # 运行
    EditorCamera()
    app.run()
if __name__ == '__main__':
    app = Ursina()
    window.fullscreen = True  # 设置为全屏
    entity = Entity()  # 创建实体化对象
    main()

3.知识点

  • Ursina :是一个基于 Python 的游戏开发框架,它简化了创建 2D 和 3D 游戏的过程。这里我们使用该库实现3D效果。
  • input(key) 函数:处理键盘输入,如果按下 Escape 键,则退出应用。
  • update() 函数:每帧更新函数,用于旋转 entity 实体,使其在 y、x 和 z 轴上旋转。
  • main() 函数:是程序的主入口,创建了 Ursina 应用实例 app,设置窗口全屏,并初始化了一个空的实体 entity。
  • entity.model = “sphere”:设置实体的模型为球体,即月球的形状。
  • entity.texture = “./Moon.png”:加载月球的纹理图像,用于实体的表面。
  • entity.scale = 2:将实体缩放为原大小的两倍。
  • Audio(“./2.mp3”, loop=True, pitch=random.uniform(.5, 1)):加载名为 2.mp3 的音频文件,并设置循环播放和随机音调。
  • background = Entity(model=‘quad’, texture=‘./background.png’, scale=(16, 9, 1)):创建一个背景图像实体,使用 quad 模型,加载background.png 纹理,并设置比例为 16:9。
  • EditorCamera():使用编辑器相机视角,允许用户在运行时调整视角。
  • if name == ‘main’::确保只有直接运行该脚本时才会执行。
  • app = Ursina():创建 Ursina 应用实例。
  • window.fullscreen = True:将窗口设置为全屏显示。
  • entity = Entity():创建一个空的实体对象,用于加载后续的模型和纹理。
  • main():调用主函数 main(),启动整个应用的执行流程。

4.总结

这段代码展示了如何使用 Ursina 创建一个简单的游戏场景,包括加载模型、纹理和音频,并设置它们的属性和行为,以及如何在全屏窗口中运行应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值