设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 5785|回复: 12
打印 上一主题 下一主题

[已经解决] 事件如何使用計時器?

[复制链接]

Lv2.观梦者

梦石
0
星屑
497
在线时间
266 小时
注册时间
2015-12-8
帖子
873
跳转到指定楼层
1
发表于 2016-2-27 21:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
地圖事件獨立計時 比如我做一顆樹,每10分鐘可以採一顆蘋果,但是不可能每個都去搞計時器在弄變量,這樣會搞死人,有辦法讓每個事情獨立計時器嗎?

Lv3.寻梦者

梦石
0
星屑
1244
在线时间
898 小时
注册时间
2014-12-4
帖子
379
2
发表于 2016-2-27 23:09:50 手机端发表。 | 只看该作者
公共事件
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
497
在线时间
266 小时
注册时间
2015-12-8
帖子
873
3
 楼主| 发表于 2016-2-27 23:20:57 | 只看该作者
翻滚牛宝宝 发表于 2016-2-27 23:09
公共事件

不董~{:2_248:}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
81 小时
注册时间
2016-1-6
帖子
150
4
发表于 2016-2-28 15:52:45 | 只看该作者
我尝试了下,如果不在脚本里加上一个用于采集时间的全局变量数组,只靠公共事件的话,用于采集时间的赋值和运算好像非常麻烦啊,公共事件里对单一的变量赋值后,多个事件同时调用好像会有问题,然后公共事件设置并行处理的等待会让人物无法操作,不知该如何解决
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
497
在线时间
266 小时
注册时间
2015-12-8
帖子
873
5
 楼主| 发表于 2016-2-28 16:00:52 | 只看该作者
seedj13 发表于 2016-2-28 15:52
我尝试了下,如果不在脚本里加上一个用于采集时间的全局变量数组,只靠公共事件的话,用于采集时间的赋值和 ...

是阿 如果數量多 總不能一個一個抓時間設定變量吧{:2_276:}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
81 小时
注册时间
2016-1-6
帖子
150
6
发表于 2016-2-28 16:25:24 | 只看该作者
是否可以这样,在脚本里加入一个二维变量,比如$gameTree[地图ID,事件ID],初始值设为0。然后每棵能采集的果树都加上一条标记来做判定是否调用该变量值。然后在每个有可采集果树的地图上,增加一个事件,对整个地图的果树进行判定,比如$gameTree[1,1]=游戏时间分钟数-该变量,当该差值≥10时,树木的独立开关A变为ON,然后新建页面出现条件为独立开关A打开,显示的图片为可采集状态,然后人物把果实采掉之后,设置独立开关A变为OFF,这个变量设置为当时的游戏时间分钟数,这样以后再次满足条件≥10时,可再次采集。
我的基本框架就是这样子的,我试试看能不能写出来。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
440
在线时间
679 小时
注册时间
2014-3-15
帖子
292

开拓者

7
发表于 2016-2-28 17:36:05 | 只看该作者
最简单的方法,使用真实时间插件,每到一定时刻获得一次物品。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
81 小时
注册时间
2016-1-6
帖子
150
8
发表于 2016-2-28 21:57:15 | 只看该作者
刚才试了试一个办法,可行,但有一些局限性,跟你分享一下:
创建一个事件,两页,第一页为没长果实的树,第二页为长了果实的树
第一页设置并行处理,执行内容:公共事件1;
第二页设置决定键触发,出现条件为独立开关A,执行内容为摘果实的环节,摘好果实后加上脚本:
var time=$gameSystem.playtime();           //读取游戏时间,单位是秒
var varid=this._mapId+this._eventId.padZero(2);          //读取当前的地图ID+事件ID。如1号地图事件5,则返回数据为“105”。
$gameVariables.setValue(varid,time);          //把游戏时间赋值给变量,比如上例105号变量。
//这三条可以并在一起,我是为了看的时候方便一点。
然后设置公开变量1:
添加脚本:
var time=$gameSystem.playtime();
var varid=this._mapId+this._eventId.padZero(2);
var selfid=[this._mapId,this._eventId,'A'];           //返回地图ID,事件ID,'A'表示独立开关A
if((time-$gameVariables.value(varid))>5){        //当时间过了5秒后,此处可根据需要改成你要的10分钟,即600秒
$gameSelfSwitches.setValue(selfid,true);          //设置当前事件的独立开关A为ON
}

另外,因为我用地图ID+事件ID组合的编号来选择变量进行赋值,所以会用到编号非常大的变量,如1号地图5号事件,为105号变量,如果是10号地图20号事件,则需要用到1020号变量,而且不支持地图中的100号及以上事件,否则赋值会出现问题。
综上,如果你的树最多放到20号地图的99号事件,则你必须提前把2099号变量先打开,否则会出错。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
81 小时
注册时间
2016-1-6
帖子
150
9
发表于 2016-2-28 22:02:50 | 只看该作者



点评

测试过的,一切正常  发表于 2016-3-2 11:03
你有測試過了嗎?  发表于 2016-3-2 00:07
用这种方法的话,你只要建立一个树的事件,然后其他树只要你复制粘贴就行了,具体的图片和能采集到什么果实,再自行编辑  发表于 2016-2-28 22:05
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
497
在线时间
266 小时
注册时间
2015-12-8
帖子
873
10
 楼主| 发表于 2016-2-29 09:59:06 | 只看该作者
本帖最后由 小叮鈴 于 2016-2-29 10:05 编辑
seedj13 发表于 2016-2-28 22:02


慘了,我地圖超過200號{:2_276:} 變量最多只能9999{:2_276:}

---

話說我剛剛測試之後,沒有反應耶,新建工程也一樣

点评

你第一页设置并行处理了没  发表于 2016-2-29 10:21
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-24 03:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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