找回密码
 点一下
查看: 644|回复: 9

问一个比较难的问题。期待高手来教导,有想法的朋友也提意见

[复制链接]
发表于 2012-6-1 16:15:40 | 显示全部楼层 |阅读模式
想做一个CS一样的图。但不是第一人称。
一直为鼠标位置的追踪而苦恼,连带着也会有通过WASD或者方向键行走的问题。

希望能做成,通过WASD行走,同时通过按按键,或者直接按鼠标左键实现开枪,每开一枪应该只需要按一次按键,通过直接按技能的方法那肯定是不好的,要按两次。
那么如何同时实现行走和射击?如果通过每0.1秒按压UI键,使触发单位一直处在使用某种技能的状态中来实现开枪(也就是帮你按释放技能的按键)那么WASD的技能模拟行走方式就有点行不通了。用方向键的话又由于在键盘上的位置不好而很尴尬。
被这些问题烦死了。
请问有没有简单的少JASS的鼠标坐标捕捉方法,或者能解决同时WASD行走和开枪的其他方法。
发表于 2012-6-1 16:24:56 | 显示全部楼层
好标题

WAR3是没有关于鼠标的触发的

当然如果你不嫌麻烦你可以在地图上放满单位,判断单位被点击

因为好看而已放弃选择↑↓←→,如果非要追求完美那么可以考虑用别的游戏来制作


另外技能也许可以用献祭等持续不被打断的技能模拟,判断是否开启来移动,这样就不会因为强制被按下UI而打断了(只是想法,未实验过)
回复

使用道具 举报

 楼主| 发表于 2012-6-1 16:33:23 | 显示全部楼层
追踪鼠标位置的JASS应该是有的,当然我也不追求JASS这种高难度的东西。
方向键确实是很好的东西,但是比如想要按R是换子弹,那按起来就不爽了。而且通过每.0.01秒就强制按某个按键完成射击的话那是不是就不能按其他技能了,那纯粹就是一直在打枪。也想过来一个进入射击模式和退出射击模式,有点麻烦。。

    问这个问题是想问问大家有没有别的特别的方法,因为我对WE不是那么深入的了解,而且也看过好多实现了这个功能的地图,应该有好多没有了解的东西。
回复

使用道具 举报

发表于 2012-6-1 16:47:58 | 显示全部楼层
那你觉得有就去jass区问问吧
回复

使用道具 举报

发表于 2012-6-1 16:50:53 | 显示全部楼层
wasd倒是已经解决了,但是不是通过jass实现的,而是更麻烦的东西,鼠标捕捉仍旧没有任何可行方法。建议lz去玩其他游戏吧,w3没你想象的那么强大……
回复

使用道具 举报

发表于 2012-6-1 16:54:06 | 显示全部楼层

回 lo 的帖子

lo:wasd倒是已经解决了,但是不是通过jass实现的,而是更麻烦的东西,鼠标捕捉仍旧没有任何可行方法。建议lz去玩其他游戏吧,w3没你想象的那么强大…… (2012-06-01 16:50)
建议lz去玩其他游戏吧
  jass搞定不了
  凡是涉及到了电脑的操作一切都不可行
回复

使用道具 举报

发表于 2012-6-1 17:01:08 | 显示全部楼层
这标题……能改就改掉吧楼主
鼠标……全地图铺满trackable如何,不过显然不如何
回复

使用道具 举报

发表于 2012-6-1 17:05:31 | 显示全部楼层
在WE中有一种隐藏的类型:Trackable

Trackable实际上和普通单位的区别不大,实际上就是一个模型
一个创建以后不可销毁的模型,用于响应玩家的鼠标事件
以下为在common.j中Trackable的相关函数

native TriggerRegisterTrackableHitEvent takes trigger whichTrigger, trackable t returns event
native TriggerRegisterTrackableTrackEvent takes trigger whichTrigger, trackable t returns event
native CreateTrackable takes string trackableModelPath, real x, real y, real facing returns trackable
constant native GetTriggeringTrackable takes nothing returns trackable

下面说明函数的作用:
TriggerRegisterTrackableHitEvent - 注册Trackable的点击事件,当玩家用鼠标点击trackable对象时,触发该事件
TriggerRegisterTrackableTrackEvent - 注册Trackable的Track事件,当玩家用鼠标从trackable对象上经过时,触发该事件
CreateTrackable - 创建一个trackable对象,必须用一个变量保存该对象,否则你无法使用你创建的对象。trackableModelPath代表你使用的模型路径。
GetTriggeringTrackable - 当触发Trackable的事件时,该值返回被触发的trackable对象

Trackable的好处之一就是可以调整创建的模型的角度,演示地图中就示范了一个这样的用处
推荐大家看看,面向正面的传送门,很不错哦,可以考虑用来做装饰品


另外需要注意的是Blz并没有为我们提供用于销毁trackable对象的函数,也就是说,一旦创建,trackable就会永久性的存在于地图上了 - 直到你退出游戏地图。
所以,使用trackable对象的时候,请慎重考虑
只要使用得当,Trackable是很棒的东西。
以上资料来自U9
回复

使用道具 举报

发表于 2012-6-1 20:15:08 | 显示全部楼层
推荐玩一玩死亡之夜
回复

使用道具 举报

发表于 2012-6-3 07:02:53 | 显示全部楼层
貌似小的时候玩过一副模仿CS的地图 好像就有鼠标晃动外带镜头一起晃动…… 或许是记错了 反正仿真度蛮高的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 21:04 , Processed in 0.032346 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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