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

如何根据刷怪的波数改变计时器的标题

[复制链接]
发表于 2011-5-14 06:12:17 | 显示全部楼层 |阅读模式
小弟试过用如下图的方式(整个T很长,我设置了很多变量,所以就只截了图)
QQ截图未命名.jpg

但是测试时计时器的标题仅仅变成“第一波进攻”,等第二波第三波的时候标题还是“第一波进攻”,想不出原因。。
请教修改方式,谢谢
 楼主| 发表于 2011-5-14 06:13:24 | 显示全部楼层
补充下,NumofNinjia是自定义整数变量
回复

使用道具 举报

发表于 2011-5-14 09:08:13 | 显示全部楼层
光看这一些的话觉得没有错误
除了多次运行会出现N个计时器窗口外
回复

使用道具 举报

 楼主| 发表于 2011-5-14 09:54:12 | 显示全部楼层
好吧。。。先谢谢楼上了

我自己再试试看。。。真不行了再来这里问。。。
回复

使用道具 举报

 楼主| 发表于 2011-5-14 12:33:06 | 显示全部楼层
引用第2楼a595859893于2011-05-14 09:08发表的  :
光看这一些的话觉得没有错误
除了多次运行会出现N个计时器窗口外

。。。。试了N个方法,比如改变动作的位置等,实在换不掉。。

奇怪的是,我测试的时候是把第二个T(包括刷怪、怪的攻击指令、删除计时器和计时器窗口WordsInTimerWindow)关掉的,但是标题仍旧没有改变,所以我觉得问题就在这里

我写的这个刷兵一共就两个T,第一个除了截图的内容外就是一堆与时间没关系的变量设置,如设置第几波是什么兵;第二个T就是跟上面括号里的一样,非常常规的刷兵T,除了标题改不掉。。。
回复

使用道具 举报

 楼主| 发表于 2011-5-14 12:38:27 | 显示全部楼层
突然想到的。。是不是因为TimerforRush是循环的计时器,所以只算一个计时器,而最后创建的计时器也就变成这一个。。所以计时器窗口才固定为这个,也就是“第一波进攻”

好像有点乱。。不知各位大大能看懂否。。

要改掉的话是不是需要用一次性的计时器,并且要放在循环整数A里(连同窗口一起)?
回复

使用道具 举报

发表于 2011-5-14 17:21:56 | 显示全部楼层
lz威武
实话说我被您给绕晕了。。。。
建议不要做在一起
一个计时到了立马关闭
再开启第二个。。。。。
试试。。
回复

使用道具 举报

 楼主| 发表于 2011-5-15 02:30:00 | 显示全部楼层
好吧。。我找到原因了。。。不过仅仅是个人猜测

原因是 WordsInTimerWindow【NumofNinjia】里的【NumofNinjia】这个部分不会随着上面设置的 NumofNinjia = NumofNinjia+1 而改变

整个动作运行时的确一开始设置了NumofNinjia = 1,随后每次加1,但是在WordsInTimerWindow【NumofNinjia】里却仅仅只是第一次的值,也就是1

可能是跟循环有关,因为WordsInTimerWindow【NumofNinjia】不在循环里,仅仅是单独的一个动作,不会重复

虽然按楼上的方法可以解决,但是那样岂不是要写N个计时器的T。。。
我想在一个T里解决掉。。

求解答。。谢谢
回复

使用道具 举报

 楼主| 发表于 2011-5-15 02:58:50 | 显示全部楼层
小弟做了如下改动:
QQ截图未命名.png

结果到了第二波的时候还是只显示“第一波的进攻”。。。(T_T)

真心求解。。。
回复

使用道具 举报

发表于 2011-5-15 09:01:06 | 显示全部楼层
[trigger]Start Timer
    Events
        Time - Elapsed game time is 0.00 seconds
    Conditions
    Actions
        Set count = 1
        Countdown Timer - Start timer as a Repeating timer that will expire in 10.00 seconds
        Countdown Timer - Create a timer window for timer with title (String(count))
        Set window = (Last created timer window)
[/trigger]

[trigger]Timer Expire
    Events
        Time - timer expires
    Conditions
    Actions
        Set count = (count + 1)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                count Less than or equal to 5
            Then - Actions
                Countdown Timer - Change the title of window to (String(count))
            Else - Actions
                Countdown Timer - Pause timer
                Countdown Timer - Destroy window
[/trigger]

既然用了计时器,那就不应该再用等待了,不过这不是这个问题的主要原因,主要原因是你的NumOfNinja没有自增,循环不应该用循环整数A而是直接用这个NumOfNinja的

对于同一个计时器,计时器窗口不需要反复删除创建,只需要调用设置标题就能改变了
回复

使用道具 举报

 楼主| 发表于 2011-5-15 10:15:20 | 显示全部楼层
感谢各位,尤其是楼上这位

看过楼上的演示以及改了下自己的T后,终于找到原因了,我的刷兵T是用1-50进行循环的,每隔1s出一个兵,一共50s左右
而NumOfNinjia会变成它本身加一是在运行完这个循环之后,也就是50s之后才会变成 NumOfNinjia+1, 所以第二波的时候还是显示“第一波进攻”

至于按照顶层的写法并在关闭其它所有T的情况下仍然不会改变标题的问题,解决办法如楼上的演示(发现不懂英文的看不懂啊。。。)
就是说要把“改变标题”这个动作写在另外一个T里,在这个T里设置如果 NumOfNinjia<=最后一波兵的号码,则改变计时器窗口的标题,然后再执行刷兵的循环,这样下一次的计时器的标题就变了

以上经验献给跟我遇到一样问题的悲剧娃。。。

再次感谢。。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 13:38 , Processed in 0.038007 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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