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

召唤疯人¢衰人大大

[复制链接]
发表于 2009-12-12 19:13:01 | 显示全部楼层 |阅读模式
疯人¢衰人大大,我对J完全是文盲,不过貌似大大是这方面高人,我想要这样的一段J。不知道你能不能帮我写出来,当然,如果麻烦的话就算了。
J的效果如下:
一、单一英雄
类似网游戏一样,我只能有一个单位(这里指英雄),我的英雄走到任何地点都会显示出目前的坐标值。
二、多个英雄(同上)
当我选择一个英雄时,显示该单的坐标,没有选择到的则不显示。

我不懂J,也很少上JASS区,因为完全看不明白这里的东西,所以也没找过J方面的东西,不过我想第二个可能比较困难吧。

帮忙写出来当然最好,没有也没多大关系。
发表于 2009-12-12 19:46:49 | 显示全部楼层
需要写的话……
估计是没什么时间(我跟amo一样考研……)

两种都不是很难
不过有几个问题我需要了解
如果你有很好的T的基础
如果你能看懂我的制作方法
估计应该能够自己做出来
一、单一英雄
类似网游戏一样,我只能有一个单位(这里指英雄),我的英雄走到任何地点都会显示出目前的坐标值。
这个有个刷新速度的问题
就是多少秒计算一次坐标
这个速度越快,计算量越大

另外是显示方法,漂浮文字还是输出字符还是就要个值?
这个我不清楚,无论任何方法,都是获得结果后显示下

至于显示坐标,很简单,如果直接采用地图的坐标,那么直接用GetUnitX,GetUnitY就可以获得
如果你稍微懂一点J(看一下教程吧)直接用TimerStart的方法调用
最简单的以左下角文字的方法反馈的很简单
[jass]
function GetXY takes nothing returns nothing
    call BJDebugMsg("坐标为:(" +R2S(GetUnitX(udg_Hero)) + "," + R2S(GetUnitY(udg_Hero)) + ")")
endfunction
function StartShow takes nothing returns nothing
    call TimerStart(udg_UseTimer,udg_Times,true,function GetXY)
endfunction
[/jass]
开始显示时执行StartShow就行了
udg_Hero是显示的英雄,udg_UseTimer使用的timer,udg_Times刷新时间

BJDebug的显示方法是最简单的,按你需要的修改就行了
停止显示用停止Timer或者直接删除Timer的方法都行
如果重新开始,那么用删除新建的方法吧
二、多个英雄(同上)
当我选择一个英雄时,显示该单的坐标,没有选择到的则不显示。
显示一次还是如一个英雄般的刷新?
一次的话很简单
选择单位事件+判断单位类型(或者玩家所属等保证显示的是允许显示的单位)的条件+GetUnitX,GetUnitY
然后显示获得的real值即可

如果是一直刷新的
那么用选择单位替换udg_Hero的值的方法就可以了
同样的事件和条件
然后执行设置udg_Hero = 选择的单位即可

我只能这样说
过快的刷新速度,
以及对GetUnitX,GetUnitY的运算(比如R2I等)过多(越多越严重)
或者复杂的显示方式(比如多面板)
都会影响游戏的运行效率
就是会卡
回复

使用道具 举报

 楼主| 发表于 2009-12-12 20:49:22 | 显示全部楼层
我也是想到了用T会卡,所以才想求一J~~~~
回复

使用道具 举报

发表于 2009-12-12 20:50:34 | 显示全部楼层
引用第2楼3xivw于2009-12-12 20:49发表的  :
我也是想到了用T会卡,所以才想求一J~~~~
T是比J差点
但是刷新快了一样
回复

使用道具 举报

发表于 2009-12-12 21:09:37 | 显示全部楼层
那个……
这不是挺简单的吗?
效率方面完全不会太大。
每0.03秒清空玩家屏幕上的信息+打印坐标至屏幕……
回复

使用道具 举报

发表于 2009-12-12 21:09:54 | 显示全部楼层
疯人被点名了哦~
回复

使用道具 举报

发表于 2009-12-12 21:31:11 | 显示全部楼层
引用第4楼血戮魔动冰于2009-12-12 21:09发表的  :
那个……
这不是挺简单的吗?
效率方面完全不会太大。
每0.03秒清空玩家屏幕上的信息+打印坐标至屏幕……
6个玩家的话……
如果他希望是修改多面板的话……

因为他说的不明白……
最简单的显示坐标自然没问题
但是String泄露的问题呢……

总之方法就是这样了……
卡的话
减少刷新率吧
回复

使用道具 举报

发表于 2009-12-15 22:06:14 | 显示全部楼层
其实用漂浮文字的话
可以保持始终定在屏幕某1个位置的.
但这需要本地玩家计算镜头的 本地玩家设置位置
回复

使用道具 举报

发表于 2009-12-15 22:11:03 | 显示全部楼层
引用第7楼linzefei于2009-12-15 22:06发表的  :
其实用漂浮文字的话
可以保持始终定在屏幕某1个位置的.
但这需要本地玩家计算镜头的 本地玩家设置位置
这个更复杂了吧……
回复

使用道具 举报

发表于 2009-12-15 22:15:07 | 显示全部楼层
..但很好玩..以前想写..后来有事 就仍下了

但思路应该是可行的.
本地显血 我有弄过保持和真正血条位置保持一致(不管镜头怎么动.)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 04:27 , Processed in 0.033036 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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