【太有深度】资源的外置处理
gamemaker吧
全部回复
仅看楼主
level 13
〖日常云山雾罩〗GM作为一个可视化的游戏引擎,他为我们提供了一个很好很直观的资源管理模式,资源都在资源树中呈现出来,并在游戏进行前预载这些资源,不得不说给了我们很多的便捷。然而,这便捷的背后却有不♂为♂人♂知的内幕
2015年09月04日 15点09分 1
level 11
[汗]然后呢,一个小时快过去了。
2015年09月04日 15点09分 2
level 7
两小时过去了
2015年09月04日 16点09分 3
level 10
然而8小时过去了
2015年09月04日 23点09分 4
level 10
然而9个小时过去了
2015年09月05日 00点09分 5
level 9
然而13个小时过去了[汗]
2015年09月05日 04点09分 6
我擦被你前面骗了
2015年10月15日 07点10分
@sct127 签名
2015年10月15日 07点10分
吧务
level 14
1.外置资源便于调用和释放,使用时加载,不使用了就释放,节省内存,而内置的删了就不能够再次调用了
2.如果有其他软件要使用相同的素材,比如外置的地图编辑器,可以节省游戏大小
3.减少游戏的加载读条时间
4.更新游戏时只需要更新游戏exe和新增素材
5.游戏文件夹下一堆文件看起来逼格就高了一半
6.[滑稽] 此贴终结
7.gm在使用外置的精灵编辑器简直蛋疼,会隐藏gm界面,并且编辑完关闭这个图像编辑软件才能返回gm界面,如果是ps这类的软件开启关闭太耗时,如果外置资源了,就可以随时编辑,并且不用关闭ps
8.如果不加密素材的话,还可以让玩家们开动才智,制作出各种皮肤材质等
9.⑨
10.小太你[滑稽]太监了
2015年09月05日 07点09分 9
还能请教一下具体怎么操作吗?否则游戏制作陷入了僵局。有没有什么教程之类的?
2015年09月05日 09点09分
@zaslow 帮助文档里有一章改变资源
2015年09月05日 11点09分
原来gm支持外置 我以为只能创建一个EXE
2015年09月07日 01点09分
level 15
噫。。。。。。。。。。。。。
2015年09月05日 08点09分 10
level 13
哎呀呀,我昨天深夜开个贴、今天上午写作业,这功夫就有大批志(ji)士(lao)来帮我更新哈[冷]。不过咱说你们有这闲工夫把我条件判断那个帖子更了啊,把我计时器那帖子更了啊,把我圆周运动【拓展提升】更了啊[滑稽]
首先纠正一个问题,那就是,外置精灵便于读取但并不便于释放,因为你需要手动释放,而直接内载的话是不需要这一点的。
然后咱就说这不为人知的内幕:
我曾经看见过一大笔做iw的同学,而且前期总有人会找小太我帮忙改工程(从即日起,让小太帮忙改工程的,门票直降至power(10,power(10,power(10)))元哦[太开心],更多惊喜等你来拿【霾误】)结果呢,好家伙这工程,打开以后GM先是一愣:[喷]我擦勒这特么什么鬼@_@?然后“GameMaker已停止工作,某dows正在寻找解决方案....”好不容易打开了一次,我不小心创建个脚本结果:script1652……
嘛你们这么叼,我作为你爹地我都不知道[惊讶],结果呢,我尝试运行,然后先不谈论各种错误,光是Loading...这位酱油基佬就比平时多呆了两分半钟[黑线]……
是的,这就是GameMaker资源树不得不说之殇……由于你都把资源一股脑塞进GameMaker的资源树下,而载入资源树的资源是要在游戏开始时一同载入到游戏中的,这些游戏资源就会进入内存。
说这么一大堆云山【雾】罩想说明什么呢,同志们,大量的资源GM也是吃不消的[啊]……
2015年09月05日 12点09分 11
大约多少?
2015年09月14日 09点09分
level 9
说了这么多都是废话
2015年09月06日 04点09分 13
[滑稽]You can You up.
2015年09月06日 14点09分
But You must put "LOUZHU"'s name on my head.
2015年09月07日 10点09分
level 7
ONE PIECE 资源外置传说
等待更新。
2015年09月06日 07点09分 14
level 13
还有,由于有开学了,此帖会有五天(Mon~Fri)的休贴期
2015年09月06日 15点09分 16
level 14
有意思= =。。。
2015年09月09日 15点09分 19
level 13
[滑稽]太有深度,还在挖掘中。。。
上次挖到一个叫做索引的一个大金矿(--+500¥叮~叮~ --不是钻石猪差评→_→ --你ya黄金矿工玩多了吧→_→),既然要用这个大金矿,我们必须先能够把它运出去为大众所用不是?所以,我们会将其存入到变量中使用。这就是流程中的第一步——分配索引。通常地,我们用来载入资源的函数都是可以返回该资源的索引的,而这个,也是我们用来获取这个资源索引的唯一手段,因此这是非常关键的,那么,我们要做的就是,把矿放车里运出去,换句话说,资源载入函数通常不独立成句,因为这样做没有太大意义,你不能用一个很合法的方式调用它。那么这个函数值必须存在一个变量中(推荐用全局变量),这样变量就会携带索引值,你如要选择使用、修改这个资源,那么你便可以使用这个变量指向这个资源,非常利于管理。
======以上内容只是收上面的尾巴======
载入资源我们便可以使用了,使用资源就和其他预载入的资源都相同,想必不用多说。关键在于使用结束后如何科学的进行超电磁炮(雾)资源清理。
2015年09月11日 14点09分 20
level 13
【如何科学的进行资源清理与内存回收】
外置资源和内置资源都可以被手动删除,而对于外置资源而言,这一步是必需的,因为游戏结束后,外置资源可不会自动回收,长此以往,很容易引发内存错误。尽管内存错误并不属于什么大错误,通常不会构成什么威胁,但咱说有点不太友好,玩着玩着一个大红叉“内存0x23333666不能为f**k”([滑稽]你又调皮了)……
如果是固定的资源载入,且当资源并不多时你可以逐个删除。但如果不是这种情况,可能要麻烦一些,比如你并不知道资源的数量,或者资源多的就像⑨的智商(⑨:[喷])的话,似乎你并不太可能也并不能去使用逐个删除的方法,因此我们要动用一些小方法。
其实很简单,就像那句话:“只要一切都在我的计算之中”,我们只要获得这些资源全局性的管理权限,或者说有人帮我们记着谁被载入了这个事,似乎就可以不遗漏的释放、删除这些资源。
那么谁来记呢,来吧,滚出来吧数据结构,别躲了。(ds:[惊哭]雅蠛蝶)
我们使用列表把我们载入了啥都记录下来,最好分资源种类去记,,这样统一管理资源,我们可以在结束时按“辛德勒名单”来不漏一个的删除资源释放内存,可以考虑去使用遍历列表的小想法,这会十分快捷。但最后切记,数据结构也是资源,你别忘了把他们最后也删掉,就是传说中的卸磨杀驴。
2015年09月11日 15点09分 21
希特勒名单?
2015年09月11日 23点09分
回复
���Dzܸ䆴
:辛德勒不是希特勒…
2015年09月12日 10点09分
回复
���Dzܸ䆴
:辛德抄千[滑稽]
2015年09月12日 12点09分
心得×10000
2015年09月12日 23点09分
level 7
坐等本周6更新。
2015年09月15日 00点09分 23
level 9
ri le gou le kuai geng xin
日 了 狗 了 蒯 根 新
2015年09月25日 04点09分 25
2015年10月12日 10点10分
level 13
此帖主内容已完结
2015年10月18日 03点10分 26
level 9
快更支线内容!
2015年10月23日 04点10分 27
1