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

Project1

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

[已经过期] 如何優化事件執行防卡?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2111
在线时间
950 小时
注册时间
2015-7-16
帖子
767

开拓者

跳转到指定楼层
1
发表于 2016-2-25 13:54:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 duzine 于 2016-2-25 13:57 编辑

如題

我的遊戲目前運用了大量的公共事件做並行處理
並且每隔一段時間會針對原設計進行優化

目前多數公共事件使用上了分支條件這一功能
無論是光影變化,依時辰切換BGM等等,都是採用並行處理

不過這樣的功能愈加精細,遊戲幀數自然也降低了許多
我想,這是我寫法的功力不足所致

想請教有沒有更好的處理方法?
可以不用讓系統來回偵測條件,資源消耗更少的方法?

例如成就系統

殺害敵人數有變數紀錄

分支條件就是不斷掃描大於這個變數就獲得某些成就
該如何修改成更有效率的方法?



圖中僅僅是我複雜設計中最簡單的應用
基本上都是要求自己以最精簡的設計完成
但是執行方式依然笨拙,就是不斷的浪費系統資源去用條件式偵測
[神性领域扩张:扩张神性领域]
说了等于没说.
头像被屏蔽

Lv1.梦旅人 (禁止访问)

梦石
0
星屑
88
在线时间
631 小时
注册时间
2014-8-4
帖子
3600
2
发表于 2016-2-25 19:06:27 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
59 小时
注册时间
2016-2-13
帖子
86
3
发表于 2016-2-26 11:30:16 | 只看该作者
同问,因为对脚本的无力,还在学习中。。。
现在也是用大量 公共事件,来完成一些事情。。。也有楼主这种设计,杀敌数获得称号成就。。。。
我只是个热爱游戏的胖子
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2111
在线时间
950 小时
注册时间
2015-7-16
帖子
767

开拓者

4
 楼主| 发表于 2016-2-26 12:08:58 | 只看该作者
腳本我也是緩步學習中

想試著應用and not or xor 之類的判斷來降低系統負擔,不過也不清楚怎麼做
希望有優化高手能夠造福大眾出來教兩手XD
[神性领域扩张:扩张神性领域]
说了等于没说.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
135
在线时间
450 小时
注册时间
2015-2-25
帖子
365
5
发表于 2016-2-26 23:10:53 | 只看该作者
沒看懂

可以解釋一下40號開關是用來幹嘛的嗎? 既然你沒提到就假設你沒其他地方有用到這開關了

兩個問題..

首先, 為什麼要先打開開關再去加"擊殺行屍數"這麼別扭…

再來, 既然你用了開關, 怎麼不把公共事件的條件開關設成40號開關?

還有就是, 既然你都用腳本了, 怎麼還要用一半事件呢, 完全就不是用事件比較方便的情況…
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2111
在线时间
950 小时
注册时间
2015-7-16
帖子
767

开拓者

6
 楼主| 发表于 2016-2-26 23:58:23 | 只看该作者
howhow1314 发表于 2016-2-26 23:10
沒看懂

可以解釋一下40號開關是用來幹嘛的嗎? 既然你沒提到就假設你沒其他地方有用到這開關了

抱歉我少解釋一部分設定,是這樣的,我有一個共同開關用來同步每個事件系統並行處理
然後開關40是我設定當怪物被殺死時會開啟的開關
每殺死一次就計算一次
[神性领域扩张:扩张神性领域]
说了等于没说.
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2111
在线时间
950 小时
注册时间
2015-7-16
帖子
767

开拓者

7
 楼主| 发表于 2016-2-27 00:00:47 | 只看该作者
腳本也需要觸發才能使用
事件只是最簡單的觸發方式,要用公共事件自動觸發
我只能弄出這東西了
[神性领域扩张:扩张神性领域]
说了等于没说.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
135
在线时间
450 小时
注册时间
2015-2-25
帖子
365
8
发表于 2016-2-27 00:35:09 | 只看该作者
duzine 发表于 2016-2-26 23:58
抱歉我少解釋一部分設定,是這樣的,我有一個共同開關用來同步每個事件系統並行處理
然後開關40是我設定 ...

意思是這公共事件的條件開關已經被佔用了?

我想說的是, 你這樣並不是每殺死一次計算一次 (除非你指的計算只包含"擊殺行屍數 += 1")

如果說條件開關真的被佔用了, 你光是把下面一大串都放進前面的條件分歧裡就好得多了 … (不然完全看不懂你用開關有什麼用, 直接動變量不就行?)
除非你除了這公共事件以外, 還有其他地方會動到4號變量…

腳本也需要觸發才能使用
事件只是最簡單的觸發方式,要用公共事件自動觸發
我只能弄出這東西了


好吧, 我真的沒看懂

我就不管你, 自說自的好了

你在你打開40號開關的地方, 把打開40號開關改成調用腳本, 不是簡單的多嗎
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 11:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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