- 精华
- 0
- 帖子
- 10
- 威望
- 0 点
- 积分
- 19 点
- 种子
- 0 点
- 注册时间
- 2009-5-1
- 最后登录
- 2016-7-1
|
/*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 30ms
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 15ms
Release(Key.Down)
Wait 15ms
else if var.xMoveQuantity<-var.WheelDeadZone then
Press(Key.Up)
Wait 15ms
Release(Key.Up)
Wait 15ms
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 15ms
Release(Key.Down)
Wait 15ms
else if var.xMoveQuantity<-var.WheelDeadZone then
Press(Key.Up)
Wait 15ms
Release(Key.Up)
Wait 15ms
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 15ms
Release(Key.Right)
Wait 15ms
else if var.yMoveQuantity<-var.WheelDeadZone then
Press(Key.Left)
Wait 15ms
Release(Key.Left)
Wait 15ms
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 15ms
Release(Key.Right)
Wait 15ms
else if var.yMoveQuantity<-var.WheelDeadZone then
Press(Key.Left)
Wait 15ms
Release(Key.Left)
Wait 15ms
end if
end if
//体感控制视角程序段结束. |
|