【vizard】用python写3D游戏

Python60

角色移动

①通过𝑣𝑖𝑧. 𝑔𝑒𝑡𝐹𝑟𝑎𝑚𝑒𝐸𝑙𝑎𝑝𝑠𝑒𝑑() ∗ 𝑠𝑝𝑒𝑒𝑑计算移动速度
②初始化欧拉矩阵𝑚1 = 𝑣𝑖𝑧. 𝑀𝑎𝑡𝑟𝑖𝑥. 𝑒𝑢𝑙𝑒𝑟(0,0,0)
③通过𝑣𝑖𝑧. 𝑘𝑒𝑦. 𝑖𝑠𝐷𝑜𝑤𝑛()分析对应鼠标事件,根据人物朝向𝑎𝑣𝑎𝑡𝑎𝑟. 𝑔𝑒𝑡𝐸𝑢𝑙𝑒𝑟()更 新𝑚1平移变换矩阵
④通过𝑎𝑣𝑎𝑡𝑎𝑟. 𝑠𝑒𝑡𝑃𝑜𝑠𝑖𝑡𝑖𝑜𝑛(𝑚1. 𝑔𝑒𝑡𝑃𝑜𝑠𝑖𝑡𝑖𝑜𝑛())更新人物位置

⑤通过𝑣𝑖𝑧. 𝑘𝑒𝑦. 𝑖𝑠𝐷𝑜𝑤𝑛()分析对应鼠标事件,设置对应人物动画:

  • 前进、后退动画:𝑎𝑣𝑎𝑡𝑎𝑟. 𝑠𝑡𝑎𝑡𝑒(2)
  • 左跨步动画:𝑎𝑣𝑎𝑡𝑎𝑟. 𝑠𝑡𝑎𝑡𝑒(12)
  • 右跨步动画:𝑎𝑣𝑎𝑡𝑎𝑟. 𝑠𝑡𝑎𝑡𝑒(13)
  • 人物静止动画:𝑎𝑣𝑎𝑡𝑎𝑟. 𝑠𝑡𝑎𝑡𝑒(1)

```python3
def roleMove():
m1 = viz.Matrix.euler(0,0,0)
dm = viz.getFrameElapsed() * speed
temp=avatar.getEuler()[0]*math.pi/180
if viz.key.isDown('w'):

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长

相关文章
Python

【机器学习】梯度下降之数据标准化

🤵‍♂️ 个人主页: @计算机魔术师 👨‍💻 作者简介:CSDN内容合伙人,全栈领域优质创作者。 🌐 推荐一款找工作神器网站: ​​牛客网🎉🎉|笔试题库|面试经验|实习招聘内推 ​​​ 还没账户的小伙...
Python

利用python自动发邮件

工作中有时长时间运行代码时需要监控进度,或者需要定期发送固定格式邮件时,可以使用下面定义的邮件函数。 该函数调用了outlook和qqmail的接口,只需要放置到python的环境目录中即可 impo...
Python

字典(dict)

4.7 字典(dict) 字典是Python中一种非常重要的数据类型。字典和之前的列表、元组不同,里面的元素使用 键-值对进行存储。通常字典中元素的 &am...
Python

5个非常有意思的python代码,谁运行谁知道

Python 能做很多无聊,但有意思的事情,例如接下来的一些案例。 Python 整蛊程序 以下程序,不要发代码,要不实现不了你整蛊的目的。 要打包成一个 exe 程序,发给朋友才有意思。 使用 pi...
Python

python-turtle绘图

一、绘图命令 操纵海龟绘图有很多命令,可以划分为三种:画笔运动命令、画笔控制命令、全局控制命令 画笔运动命令 命令 说明 turtle.forward(distance) 向当前画笔方向移动dista...
Python

批处理文件(.bat)并行Arcpy脚本提高效率的思路

Arcpy提供数据处理的方便接口,但一个Arcpy脚本通常只运行于一个核上。现在电脑通常是多核乃至多处理器,如果能将任务分解为可同时进行的若干任务,便可通过并行充分利用电脑性能。 折腾了python并...
Python

python3的默认编码

python3的默认编码 原创 wx5e6caa8b9792d2022-08-01 17:10:58博主文章分类:Python自动化开发 ©著作权 文章标签 python ico 文章分类 Pytho...