找回密码
 点一下
查看: 2482|回复: 10

我设计的基于键盘事件的WASD移动系统

[复制链接]
发表于 2012-3-7 21:24:53 | 显示全部楼层 |阅读模式
WASD.jpg


是一个类似于车辆驾驶的,使用四个变量记录wasd的按键状态,不过记录的是移动距离的数值,a和d相反 w和s相反,
这样无论怎样按或者怎样的先后顺序按,都能按照预想的方向移动。
mover触发器的局部变量x和y是移动目标点的坐标,上面的各种变量操作是计算x和y点坐标的过程。
按常理来说应该比使用大量if then之类的要更有效率,不过我不肯定
但是至少看起来要清爽的多。

还有就是倒车现在还不知道怎样做
发表于 2012-3-9 14:49:58 | 显示全部楼层
虽然不大明白,但是还是帮LZ消灭回复了。沙发吃掉
回复

使用道具 举报

 楼主| 发表于 2012-3-9 20:12:50 | 显示全部楼层



稍后我上传地图文件
回复

使用道具 举报

 楼主| 发表于 2012-3-9 20:26:24 | 显示全部楼层
星际轨道四驱车.SC2Map (729 KB, 下载次数: 229)
地图在这
国服战网上也有 不过是锁定的

里面有两套mover触发器,使用其中一个就得关掉另一个,不然就乱了
local就是基于车辆局部坐标转向,就像赛车游戏
absolutely是基于世界坐标控制的,就是8方向移动,如赤色要塞

我看了一些WASD的演示,大部分都是用布尔类型判断案件状态,最后控制移动的触发器下面有很多逻辑判断和if then语句,不容易读懂
就像我一开始说的,这个mover触发器 没有用到一个 if then 判断 或 逻辑表达式 , 而是用2个变量来储存按键状态
我觉得足够简洁,希望大家能看看
回复

使用道具 举报

 楼主| 发表于 2012-3-9 20:48:35 | 显示全部楼层

回 xttyctl 的帖子

xttyctl:倒车就用极点偏移点。我地图里面有 (2012-03-09 20:20)
我那些占了2-3行和好几个局部变量的计算过程就和这个 极点偏移 目的一样。。。
如果网易的翻译专业点。。。把它翻译成极坐标点偏移的话


你这个地图还挺有意思的,不过当我按住A的时候会跟单位的攻击命令重复。。打zealot太费力了。。手指按麻了
回复

使用道具 举报

发表于 2012-3-9 21:00:16 | 显示全部楼层

回 xttyctl 的帖子

xttyctl:LZ还是看看我的吧。都成垃圾产品了 (2012-03-09 20:19)
你这个真烂……
ASD都无反应

看了下你的触发,只有W按下的时候有动作,让单位移动。
AD都是修改你的一个变量,而且按下W立刻将这个变量置为当前注视方向。
而你又没有套用镜头等动作来使用这个变量改变镜头方向……仅仅只是在按W的时候让单位朝着这个变量的方向走(而且在走之前竟然又让这个变量变成镜头朝向了)
实际上是除了向镜头指向的方向走以外啥都没有。


另说楼主这个触发看上去挺简洁的,车辆转向那个操作起来挺带感的。
[trigger]
        一般 -若滿足(條件)則執行(動作)否則執行(動作)
            If
                Lefrit!=0.0
            Then
                鏡頭 -在1.0秒鐘內為玩家1套用鏡頭物件旋轉(從(Unit_CarP1的位置)到(點(x,y))的角度)為有已存在的速度%初始速度,10%減速
            Else
[/trigger]
加上以上代码可以让你的镜头跟随赛车偏转。
回复

使用道具 举报

 楼主| 发表于 2012-3-12 23:16:19 | 显示全部楼层

回 angerking 的帖子

angerking:你这个真烂……
ASD都无反应

看了下你的触发,只有W按下的时候有动作,让单位移动。
....... (2012-03-09 21:00) 
我用的简体版。。哪个是你说的这条
回复

使用道具 举报

发表于 2012-3-13 15:00:19 | 显示全部楼层

回 ZeratulWill 的帖子

ZeratulWill:我用的简体版。。哪个是你说的这条 (2012-03-12 23:16) 
我没简体版,这个就是为特定玩家设定特定镜头的某个属性的一个触发,在镜头分类里面。

这里是为“玩家1”设定镜头的“旋转”角度为“(单位位置点向移动目标点的偏移角度)”
有一个时间,这个时间越长,镜头移动到这个新设定的时间越长,0是立即。

经测试镜头移动时间设置为0好像会感觉不流畅,具体设置时间自己调试下。

我记得在你的镜头初始化里面也用到了这个触发,用来让镜头从一个较低的角度对着车子前方。不过这之后一直没有调整镜头方向。让镜头方向跟着车子移动方向旋转就行了。

这个触发能设置镜头的各种属性,例如面向角度、俯角、距离、高度、近切、远切等等。
应该算是常用镜头控制触发。
回复

使用道具 举报

发表于 2014-5-11 11:41:06 | 显示全部楼层
终于找到了.不容易啊.
回复

使用道具 举报

发表于 2014-5-13 19:56:49 | 显示全部楼层
本帖最后由 yxxiaobin 于 2014-5-13 19:58 编辑

如果按照楼主的思路,比较适合用于视角随动的游戏,但是不知道楼主怎样处理后退这样的事。我以前也写过一个键盘移动,但是和楼主思路不同,那个是按那个键就朝哪个方向走,如果按两个键,则朝向夹角中心的方向(用于实现8方向移动),适合于视角固定的游戏。
回复

使用道具 举报

发表于 2014-5-15 10:04:59 | 显示全部楼层
哥们你挖坟啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-12-27 10:39 , Processed in 0.166773 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表