美文网首页码农
让Wiimote控制Devil May Cry 4

让Wiimote控制Devil May Cry 4

作者: FSS_Sosei | 来源:发表于2019-01-12 21:43 被阅读0次

    2011年写的

    原来放在开源中国社区的

    还是转过来吧

    适用于GlovePIE 0.30

    按键功能如下:Wiimote B钮为瞄准;2钮为剑;1钮为魔爪;A钮为手枪;-钮为跳跃;

    +钮为蓄力;Home钮为变身;双击B钮为挑衅。

    Wiimote 方向钮控制运动方向;晃动手柄控制视角。

    /*Devil May Cry 4(鬼泣4)单Wiimote控制脚本

    按键功能如下:Wiimote B钮为瞄准;2钮为剑;1钮为魔爪;A钮为手枪;-钮为跳跃;

    +钮为蓄力;Home钮为变身;双击B钮为挑衅。

    Wiimote 方向钮控制运动方向;晃动手柄控制视角。

    编写者:Sosei

    本脚本以GNU通用公共许可证形式发布

    */

    //全脚本初始化部分开始

    if var.initializer=false then

      Wiimote.Leds=15

      //Wiimote水平静止放置下的x,y,z轴固有偏差量补偿值

      var.xOffset = -1.96

      var.yOffset = -5.81

      var.zOffset = 0.11

      //视角移动速度,数值越小越慢

      var.speed = 0.8

      //如果手不稳就增大数值

      var.xCutoff = 4

      var.zCutoff = 4

      var.WheelDeadZone=0.003

      var.initializer = true

    end if

    //全脚本初始化部分结束

    var.WiimoteB=Wiimote.B

    Key.Space=var.WiimoteB  //设Wiimote B钮为瞄准

    //设双击Wiimote B钮为挑衅

    if DoubleClicked(Wiimote.B) then

      Release(Key.Space)

      Press(Key.M)

       Wait 15ms

      Release(Key.M)

    end if

    Key.I=Wiimote.Two  //设Wiimote 2钮为剑

    Key.L=Wiimote.One  //设Wiimote 1钮为魔爪

    Key.K=Wiimote.Minus  //设Wiimote -钮为跳跃

    Key.J=Wiimote.A  //设Wiimote A钮为手枪

    Key.Q=Wiimote.Plus  //设Wiimote +钮为蓄力

    Key.N=Wiimote.Home  //设Wiimote Home钮为变身

    //设Wiimote 方向钮为方向

    Key.W=Wiimote.Right

    Key.S=Wiimote.Left

    Key.A=Wiimote.Up

    Key.D=Wiimote.Down

    //体感控制视角程序段开始

    var.xRot = (Wiimote.RawAccX + var.xOffset)*2.633

    var.yRot = (Wiimote.RawAccY + var.yOffset)*2.633

    var.zRot = (Wiimote.RawAccZ + var.zOffset)*2.633

    if var.xRot > var.xCutoff then

      var.xMoveQuantity=0.001 * var.speed * (var.xRot - var.xCutoff)

      if var.xMoveQuantity>var.WheelDeadZone then

        Press(Key.Down)

        Wait 20ms

        Release(Key.Down)

        Wait 13ms

      else if var.xMoveQuantity<-var.WheelDeadZone then

        Press(Key.Up)

        Wait 20ms

        Release(Key.Up)

        Wait 13ms

      end if

    end if

    if var.xRot < -var.xCutoff then

      var.xMoveQuantity=0.001 * var.speed * (var.xRot + var.xCutoff)

      if var.xMoveQuantity>var.WheelDeadZone then

        Press(Key.Down)

        Wait 20ms

        Release(Key.Down)

        Wait 13ms

      else if var.xMoveQuantity<-var.WheelDeadZone then

        Press(Key.Up)

        Wait 20ms

        Release(Key.Up)

        Wait 13ms

      end if

    end if

    if var.zRot > var.zCutoff then

      var.yMoveQuantity=0.001 * var.speed * (var.zRot - var.zCutoff)

      if var.yMoveQuantity>var.WheelDeadZone then

        Press(Key.Right)

        Wait 20ms

        Release(Key.Right)

        Wait 13ms

      else if var.yMoveQuantity<-var.WheelDeadZone then

        Press(Key.Left)

        Wait 20ms

        Release(Key.Left)

        Wait 13ms

      end if

    end if

    if var.zRot < -var.zCutoff then

      var.yMoveQuantity=0.001 * var.speed * (var.zRot + var.zCutoff)

      if var.yMoveQuantity>var.WheelDeadZone then

        Press(Key.Right)

        Wait 20ms

        Release(Key.Right)

        Wait 13ms

      else if var.yMoveQuantity<-var.WheelDeadZone then

        Press(Key.Left)

        Wait 20ms

        Release(Key.Left)

        Wait 13ms

      end if

    end if

    //体感控制视角程序段结束

    相关文章

      网友评论

        本文标题:让Wiimote控制Devil May Cry 4

        本文链接:https://www.haomeiwen.com/subject/ewqhdqtx.html