jjzjj

scenegraph

全部标签

java - 覆盖绘图顺序 scene2D 的舞台

您在libgdx中得到了一个复杂的Scene2D图,其中包含多个Group's和Actor's。您希望用户选择一些Actor并在最后绘制它们,以便它们看起来集中在任何其他Actor之上。我想遍历Stage两次。第一次绘制未选中的Actor,第二次绘制选中的actors。然而,我没有看到任何“好”的方式来强制执行此行为。我更喜欢干净的选项。我不想为了这个小的添加而复制整个方法实现。什么不起作用:Actor的toFront()方法仅适用于它的sibling。在舞台中交换Actor的位置:这会修改Actor的转换。要考虑的场景:您有一个Root,其中有一个组gA和一个组gB。GroupgA包

android - Canvas 操作与元素操作

我正在开发一个小型库作为某些应用程序的基础。当我即将创建场景图(2D)时,我想知道从性能、可维护性、易用性等角度来看,以下哪种方法看起来更有前途。我可以为每个可绘制元素提供一个矩阵,我可以在其中执行平移、旋转等操作。我可以在Canvas上而不是元素上做任何事情。第一个解决方案有一个缺点:对于像圆这样的基本元素,我不能在绘制调用中传递矩阵,我必须像这样从矩阵访问转换后的值:privatefloatget(intindex){finalfloat[]values=newfloat[9];getValues(values);returnvalues[index];}publicfloatge

ios - 在为另一个节点使用灯光后保持原始节点照明

我正在尝试为我的岛屿添加更多“3D”效果,因为您看不到草丘的深度。我的解决方案是在场景中放置灯光。我在岛上放置了一个spot灯,但是,下面的岩石现在是黑色的/非常黑。我希望下面的岩石不受影响并保持点亮。这是我到目前为止所拥有的:即使在场景编辑器中放置环境光,它对岩石也没有任何帮助(但会略微使草地变亮)。我使用的光照模型是Blinn。我怎样才能让我的石头保持原样? 最佳答案 在我发表这篇文章后,我很快就找到了这个问题的答案,尽管我在这个问题上停留了大约一天。其实很简单。您需要做的就是进入原始岛屿场景文件,然后单击岩石并访问它的Mate

javascript - 优化html5 Canvas 游戏

现在我正在制作的游戏中有两个游戏循环。循环遍历屏幕上对象数组的绘制循环和执行游戏逻辑的逻辑循环。我的逻辑循环比绘制循环多运行了大约10帧。我之所以这样设置,是因为执行游戏逻辑可能需要更长的时间,而且我不希望它干扰绘图循环。我的逻辑循环是这样设置的:vs.logicloop=function(){vs.Gameloop();//dotheupdatingofobjectscriptsif(vs.windowActive){varl=vs.scenegraph.length;vari=0;while(i绘制循环是这样的:vs.drawloop=function(){//clearthesc

javascript - 优化html5 Canvas 游戏

现在我正在制作的游戏中有两个游戏循环。循环遍历屏幕上对象数组的绘制循环和执行游戏逻辑的逻辑循环。我的逻辑循环比绘制循环多运行了大约10帧。我之所以这样设置,是因为执行游戏逻辑可能需要更长的时间,而且我不希望它干扰绘图循环。我的逻辑循环是这样设置的:vs.logicloop=function(){vs.Gameloop();//dotheupdatingofobjectscriptsif(vs.windowActive){varl=vs.scenegraph.length;vari=0;while(i绘制循环是这样的:vs.drawloop=function(){//clearthesc