我目前正在编写一款游戏,而我目前正在尝试的是使用循环替换游戏中的多个“对象”。如何一次性执行这些多个方法调用?
当我说“对象”时,我并不是指OOP中的一个对象,而是我的游戏中的一个简单实体,它绘制在缓冲区上(例如:岩石或树)。
现在,这种替换对象的方法工作得很好,如果它只是一些对象,但如果我试图替换多达25个对象,它看起来有点奇怪。
我的意思是,你可以看到每次更换一个物体,而不是一次。 (我的理解,这是因为任务是在一个循环中执行)
这几乎总结我在做什么,编程:
for(int i = 0; i < tilesToReplace; i++) //Looping through the total amount of tiles that will be replaced
//Spawning an object in the desired tile
spawnObject(objectPatch.objectId, //irrelevant, (new object ID)
objectPatch.coords[0][i], //irrelevant, X Coordinate of the current index
objectPatch.coords[1][i]); //irrelevant, Y Coordinate of the current index
我已经想过做一些诸如暂停直到我想要替换的所有对象都被初始化,但我想知道是否有更简单的方法来处理这种循环,例如处理我不知道的循环。 (我真的不瞄准的变化,我可以用我的对象/渲染处理做,等)
除非您多线程,否则这是您可以做的最多的。 – Vulcan
即使你是多线程,也只有一个线程应该完成所有的绘图。没有任何代码,很难说。如果我们正在拖延东西被“绘制”,双缓冲可能是一个选择。 – John3136