有没有人有一个实施轨道力学的例子(最好是在XNA中)?我目前使用的代码如下,但它执行时并没有"感觉正确".物体只是稍微向地球弯曲,无论我调整多少变量,我都无法进入轨道,甚至是部分轨道.
shot.Position += shot.Velocity;
foreach (Sprite planet in planets)
{
Vector2 directionToPlanet = (planet.Position - shot.Position);
directionToPlanet.Normalize();
float distance = Vector2.DistanceSquared(shot.Position, planet.Position);
float gPull = (float)(planet.gravityStrength * (planet.Mass * shot.Mass) / distance) + planet.gravityField;
shot.Position += new Vector2(directionToPlanet.X * gPull, directionToPlanet.Y * gPull);
}
Run Code Online (Sandbox Code Playgroud)
编辑 标记Mendelt的答案是正确的,指出我需要更新速度,而不是位置.我还需要将gPull的计算更改为
float gPull = shot.Mass * planet.Mass / distanceSqr * planet.gStr;
Run Code Online (Sandbox Code Playgroud) 我正在使用flash应用程序(非flex),我想支持国际化.在flex中有一个很好的抽象ResourceManager,您可以在其中为每个语言环境提供资源包.动作脚本有没有等价物?
我希望我不会写一份副本,但我找不到任何能回答我问题的内容.(虽然在我看来这是很常见的问题.)
几乎每个Web项目都会出现此问题:您有一个包含许多条目的表,并希望它们显示在单个页面上.
现在我想知道计算某组表行所需页数的最佳方法是什么.
这里有一些我一直在考虑的方法.我想对它们的效果有所回应.我将给出特定于PHP的示例,但我敢打赌其他语言中也有类似的技术.
最好的方法是静态保存页数,并在每次添加新条目时修改值.(尽管如此......我正在寻找一个动态的解决方案:-))
做一个SELECT COUNT(*)在感兴趣的行和每次显示页面时计算的页码.
执行普通选择以获取所有行的结果集.现在不要通过调用来加载行mysql_fetch_row,但是要获取行数mysql_num_rows.(因为我不知道这是如何实现的,我不知道它是否有效.任何人都知道吗?)然后我可以舒服地移动结果集指针.(因为mysqli有mysql_data_seek,但本机MySQL扩展没有类似的功能.因此我假设这只是一些缓冲行为mysqli)
任何人都可以说如何最有效地计算行数(页数)?
我正在编写一个netscape iplanet插件(在solaris/C上使用eclipse),它基本上是一个具有特定入口点的共享对象,我希望能够使用eclipse的调试器(gdb)调试共享对象.我记得在AIX中做了类似的事情,你可以让xldb连接到正在运行的进程.是否有可能让eclipse运行gdb以附加到正在运行的二进制文件?我应该期待悲伤,因为我想调试动态加载的代码片段?
几乎所有的c ++项目都有复制c-tor /复制操作符/序列化方法等的类.这通常与所有成员一起做.
但有时开发人员会忘记为此功能添加新成员.
你知道任何简单的,而不是wrapp所有成员的方式会提醒开发人员做某事或在这个函数中写noop(memeber_name_).
我试图发明一些但却有错.
PS:单元测试可以防止这个问题,但我想要一些编译时间.
我想知道是否有办法在Global.asax的事件处理程序中自动存根?到目前为止,我还没有找到任何如何做到这一点的例子.似乎我必须找到可供我使用的代理名称列表并手动输入.
Intellisense似乎也没有提供有关该主题的任何有用信息.
我正在使用LINQ-to-XML来查询文件以获取对象列表.它们都具有相同的结构(一组选项,一组不确定长度的参数).基于XML文件中的名称,我想将参数用于完全不同的东西 - 所以我创建了这个对象的子类.
我的问题是 - 如何动态调用正确的构造函数,而不执行类似case语句的操作?或者从XML优雅地实例化不同子类的解决方案是否位于其他地方?
class Object1
{
string name;
OptionObj opt;
List<Param> parameters;
}
class sonOfObject : Object1
{
public void ExecuteSomething()
{
//do something with the parameters
}
}
class secondSonOfObject : Object1
{
public void ExecuteSomething()
{
//do something entirely different with the parameters
}
}
var query = from x in xmlDoc.Descendants("Object")
select new Object
{
//select the object from the XML
}
Run Code Online (Sandbox Code Playgroud)
在这段代码之后,我可以使用复制构造函数从更通用的查询对象中创建一个sonOfObject.但是,如何根据子类的名称动态地执行此操作?
我知道你可以从一个类型中获取MethodInfo并调用它ala ...
MethodInfo m = t.GetMethod(someName);
m.Invoke(yourObj, null);
Run Code Online (Sandbox Code Playgroud)
但这意味着我必须实例化这些子类对象中的9个或10个(并获取每个类对象的类型),并且仍然以某种case语句结束.
是否有更优雅的方式来动态调用子类构造函数?
我试图将UTF-8中编码的字符串转换为ISO-8859-1.比如说,在字符串'âabcd''中,在ISO-8859-1中表示为E2.在UTF-8中,它表示为两个字节.C3 A2我相信.当我执行getbytes(编码)然后使用ISO-8859-1编码中的字节创建一个新字符串时,我得到两个不同的字符.¢?.有没有其他方法可以做到这一点,以保持角色相同,即âabcd?
如果我有以下内容,你好只是为了clairfy:
using (Object1) {
create Object2
}
// bookmark1
Run Code Online (Sandbox Code Playgroud)
将Object2与Object1一起销毁到Object2吗?Object2是StringReader,Object1是MemoryStream.
我知道iPhone SDK需要Leopard,即~900mHz G4 + w/512MB RAM.我过去使用过XCode,所以我很清楚它的表现如何.但我从来没有使用SDK附带的iPhone模拟器,我想知道它需要什么样的CPU /内存资源才能顺利运行.
我只是下载它并亲眼看看,但我的(古代)iBook无法运行Leopard.在我购买新机器之前,我想了解能够以接近硬件速度运行仿真器的最慢系统.
c# ×4
.net ×1
apache-flex ×1
asp.net ×1
c++ ×1
database ×1
debugging ×1
eclipse ×1
eclipse-cdt ×1
flash ×1
global-asax ×1
iphone ×1
iso-8859-1 ×1
java ×1
macos ×1
pagination ×1
php ×1
physics ×1
reflection ×1
sdk ×1
using ×1
utf-8 ×1
xna ×1