Objective c 加载纹理时设置屏幕动画
我的RPG类游戏有随机战斗。当玩家进入一场随机战斗时,我的游戏需要加载该战斗中使用的纹理(动画怪物、动画等)。纹理相当多,而且相当大(战斗非常图形化) 这样的过程消耗大量的时间。当它加载时,整个屏幕冻结 游戏的地图冻结了,等待时间很长——我个人觉得很烦人 我无法预加载纹理,因为在做了一些数学运算后,我意识到:Objective c 加载纹理时设置屏幕动画,objective-c,ios,optimization,cocos2d-iphone,Objective C,Ios,Optimization,Cocos2d Iphone,我的RPG类游戏有随机战斗。当玩家进入一场随机战斗时,我的游戏需要加载该战斗中使用的纹理(动画怪物、动画等)。纹理相当多,而且相当大(战斗非常图形化) 这样的过程消耗大量的时间。当它加载时,整个屏幕冻结 游戏的地图冻结了,等待时间很长——我个人觉得很烦人 我无法预加载纹理,因为在做了一些数学运算后,我意识到: 如果我在游戏开始时预装所有纹理,应用程序肯定会崩溃 如果我在玩家进入地图时预加载特定地图中使用的纹理,应用程序也很可能崩溃 我只能在需要时加载纹理,并在战斗结束后立即处理它们 我不喜欢
- 如果我在游戏开始时预装所有纹理,应用程序肯定会崩溃
- 如果我在玩家进入地图时预加载特定地图中使用的纹理,应用程序也很可能崩溃
- 我只能在需要时加载纹理,并在战斗结束后立即处理它们
在写这篇文章时,我意识到我可以在纹理之间进行小的暂停(有多个纹理),在这些暂停期间,我更新屏幕以表示动画的状态。但是,这种情况不太可能发生,因为每个纹理都是2048x2048,因此动画将以相当慢(而且令人讨厌)的速度刷新。我也希望避免这种情况。因为战斗应该是随机的,所以有可能在下一场战斗发生之前预加载纹理吗?然后,只要装载完成,战斗就可以开始
战斗仍然是随机的,只是在用户意识到战斗即将发生之前,遭遇战已经确定了一点。既然战斗应该是随机的,那么有可能在下一场战斗发生之前预加载纹理吗?然后,只要装载完成,战斗就可以开始
战斗仍然是随机的,只是在用户意识到战斗即将发生之前,战斗已经确定了一点。您可以先加载低分辨率的纹理,然后在后台线程(我认为是NSOperation)中开始加载较大的纹理,并在完成后“交换”它们
至于动画,很多游戏都是在玩家离得很远的时候加载小纹理开始的,当它们越来越近时,高分辨率的纹理会在中“淡出”,你可以先加载低分辨率的纹理,然后在后台线程(我想是NSOperation)中开始加载较大的纹理,完成后“交换”它们
至于动画,很多游戏都是在玩家离得很远的时候加载小纹理开始的,当它们越来越近时,高分辨率的纹理会在类似的绑定中“褪色”,我选择了
pps.关于第1点,这导致我的应用程序大幅度缩小。在类似的绑定中,我选择
pps.关于第1点,这导致我的应用程序的尺寸显著减小。但即便如此,我也必须加载这类战斗所需的纹理。如果游戏决定“很快就会有一场战斗。”