我正在开发一款带有Windows 8和更低级物理的游戏。当我在开发过程中在本地机器上玩游戏时,效果非常好,它给我58-60 FPS。
然而,当我在模拟器中检查相同的结果时,性能是25-30 FPS,并且对象的行为看起来不同,这真的很奇怪。
我现在缺少任何特定的属性,这将使我的游戏在模拟器中正常工作,因为最终游戏应该完全适用于所有平台。 任何指导都会有很大的帮助。提前谢谢。
更新: 这是我用Windows 8和Farseer物理开发的游戏的代码。
<FarseerHelper:PhysicsCanvas x:Name="PhyCanvase">
<FarseerHelper:PhysicsSprite x:Name="cnvBox" Height="64" Width="64" Loaded="cnvBox_Loaded">
<Image Source="box.png" ></Image>
</FarseerHelper:PhysicsSprite>
<FarseerHelper:PhysicsSprite x:Name="Floor" Canvas.Top="692" Width="1310" Height="120" IsStatic="True" FrictionCoefficient="1" RestitutionCoefficient="0.4"/>
</FarseerHelper:PhysicsCanvas>
C#:
Vertices ver = PolygonTools.CreateRectangle(0.53f, 0.53f);
PolygonShape poly = new PolygonShape(ver, 1.0f);
poly.ComputeProperties();
Fixture fix = cnvBox.BodyObject.CreateFixture(poly, cnvBox);
fix.Body.Friction = 0.5f;
fix.Body.Restitution = 0.3f;
当我在开发时在本地机器上玩游戏时,结果非常好但是当我在模拟器中检查相同的结果时,对象的行为在两者上似乎都不同。主要问题是动态对象在模拟器中的某些时候跳转。为此,我尝试从地板和对象中删除restitutionCoefficient但仍然发出相同的问题?有人可以就此提出建议吗?
再次感谢你。
David Jacob