MobSetMotion 设定角色运动
格式
MobSetMotion(mobId, motion, speed, angularSpeed)
简介
设置角色运动。运动类型详见MOTION。
参数
名称 | 类型 | 描述 |
---|---|---|
mobId | int | 角色ID |
motion | key | 运动类型 |
speed | float | 移动速度 |
angularSpeed | float | 转动速度 |
实例
按下鼠标左键时设置角色mob以移速1转速0.5做向前移动运动,同时做无重力运动。(未设置角色做旋转运动,则此处转速不起作用)
import fg
import wx
import vmath
asset = fg.AssetCreate()
asset.name = 'Main Scene'
asset.state = fg.STATE.VOXMODEL
asset.vmFile = 'mainScene'
asset.icon='icon.png'
fg.AssetRegister(asset)
mob = fg.AssetCreate()
mob.name = 'mob'
mob.state = fg.STATE.MOBILE
mob.mobSkeleton = 'skeleton.ozz'
mob.mobMesh = 'mesh.ozz'
mob.mobTexture = 'texture.png'
mob.mobAction = 'action.ozz'
mob.icon='mob.png'
def onStart(self):
global mob
mob=fg.AssetBuildEntity(fg.AssetRegister(mob), self.id, vmath.Vec3(0, 25, 0))
def onmouse(self, stamp, button, action, mods):
if button==wx.MOUSE_BUTTON.LEFT and action==wx.ACTION.PRESS:
wx.MobSetMotion(mob.id, wx.MOTION.FORWARD | wx.MOTION.NO_GRAVITY, 1, 0.5)
fg.AssetSetStartCBFunc(asset, onStart)
fg.AssetSetMouseButtonCBFunc(asset, onmouse)