【vizard】用python写3D游戏

Python114

角色移动

①通过𝑣𝑖𝑧. 𝑔𝑒𝑡𝐹𝑟𝑎𝑚𝑒𝐸𝑙𝑎𝑝𝑠𝑒𝑑() ∗ 𝑠𝑝𝑒𝑒𝑑计算移动速度
②初始化欧拉矩阵𝑚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学长