我想编写一个.NET应用程序,它提供动画世界的3D渲染.我在Windows PC上编码,但我的许多目标受众都在Linux上.
有一堆看起来很有用的框架,尽我所能分为高级和低级:
低级图形
游戏开发框架
这些非竞争者中的任何一个?你发现什么是最好的选择,为什么?我正在寻找任何有见地的比较,以及建议/反对.其中一些声称可以作为XNA替代品.这是否意味着您可以部署到Win/Mac/Linux以及Xbox?有捕获吗?
我还不熟悉用于3D图形的OpenGL/DirectX/XNA API.这些中的任何一个都比其他人更容易使用吗?由于抽象级别较高,您是否会失去任何灵活性/功率/性能?
请注意,我将无法访问Linux机器一个月左右,因此我将无法在Linux上测试我的开发(因此这个问题).
编辑我发现这个表增加了一些列表.我把它们合并在上面.
编辑2我倾向于Axiom.它提供了相当粗略的着陆,但在功能方面显示出真正的希望. 这是一篇包含用户评论的精彩摘要文章.但到目前为止,初学者文档和示例项目很难使用.教程都引用了API的不同版本,并且它们都建议您使用不同的基类(不包括在API中)来开始.当然不是以成功之坑为设计理念,但仍然充满希望.
我正在尝试做一些动态代码,我加载了一个应该是Activity的新类,我想启动它,但是使用常规的startActivity(Intent)希望Activity在AndroidManifest.xml文件中被"声明" .
任何线索?
假设你有一个BlahChild类型的对象,它是BlahParent的扩展,当BlahChild调用super()时会发生什么.omeMethod和someMethod包含对另一个函数的调用,anotherMethod()在BlahChild中也被覆盖?
是否会调用BlahChild的另一个方法,或者BlahParent的另一个方法?
所以我正在编写一个缓存系统(不是太复杂,但它有非常好的语义)和ttl(生存时间)的项目.
当然ttl必须经过单元测试,但由于无法在C#中注入"IDateTime"或"ITimeSpan"的新实现(因为没有这样的东西),你会怎么做呢?
首先写一个新的组件"IDateTimeProvider"和"DateTimeProvider",然后哪个可以模拟?
是不是重新实现了.NET运行时库的一部分......难以理解?
编辑:谢谢大家的惊人答案!我现在知道我要做什么了!
让我说我有:
switch( choice ) {
case A:
stmt;
do_stmt_related2A;
break;
case B:
stmt;
do_stmt_related2B;
break;
case C: something_different();
...
}
Run Code Online (Sandbox Code Playgroud)
我怎么能避免重复stmt代码?
但有任何解决方法吗?gcc扩展标签作为值看起来非常适合这种情况.
switch( choice ) {
do {
case A: ptr = &&A_label;
break;
case B: ptr = &&B_label;
} while(0);
stmt;
goto *ptr;
case C: ...
Run Code Online (Sandbox Code Playgroud)
是否有任何技巧可以在ANSI-C中做同样的事情?编辑:我当然想到了函数/宏/内联.还有别的吗?这也与表现无关.仅用于教育目的.;)
我之前没有使用MAC OSX,但是我想在很长一段时间内买一台.最近,我设法买了一个!相信投资我猜:).
我对iPhone开发感到非常兴奋,我希望尽可能快地弄脏手.我的疑问是,我是否真的需要购买iPhone才能开始学习活动或者有任何模拟器?如果是这样的话,除了书籍之外我还要投入多少钱?
Plz协助我.
我正在研究一个小型的Web库,并且想知道我应该反复调用GET,POST,PUT等HTTP处理程序方法.
首先是if else ...在基类中给出块调用方法的变体,它们具有向客户端返回错误的默认实现.由于对不受支持的方法的请求需要带有允许方法的标头,我需要反思地查找哪些方法被覆盖(顺便说一下,Servlet API就是这样).
public abstract class Resource {
public Response handle(HttpServletRequest request) {
String action = request.getMethod();
if(action.equals("GET"))
return get(request);
else if(action.equals("POST"))
return post(request);
...
}
protected Response get(HttpServletRequest request) {
return new Response(METHOD_NOT_ALLOWED);
}
protected Response post(HttpServletRequest request) {
return new Response(METHOD_NOT_ALLOWED);
}
}
Run Code Online (Sandbox Code Playgroud)
此解决方案的缺点是灵活性降低,因为可用的方法在基类中handle得到修复,直到方法在子类中重新实现为止.
另一种变体是根据其签名(获取HttpServletRequest和返回Response)反射查找HTTP处理程序方法.这些方法将存储在Map中,并根据地图中的键进行反射调用.
public abstract class Resource {
private Map<String, Method> handlers;
public Resource() {
handlers = findHttpHandlerMethodsReflectivly();
}
public Response handle(HttpServletRequest request) { …Run Code Online (Sandbox Code Playgroud) 以下代码的行为有所不同,具体取决于我是否使用32位或64位版本的wscript:
Set oSQLServer = CreateObject("SQLDMO.SQLServer")
For Each o in oSQLServer.ListInstalledInstances
MsgBox o
Next
Run Code Online (Sandbox Code Playgroud)
在32位,它将列出我的32位服务器(SQL Server 2000)的实例,在64位我得到我的64位服务器(SQL Server 2008)的内容.我需要将此代码转换为C++(32位应用程序).但我需要展示64位服务器.如何强制创建的对象在注册表中使用64位dll和64位密钥?
当鼠标悬停在帮助图像上时,我正在显示工具提示.
xaml如下:
<Image
x:Name="HelpImage"
Width="16"
Height="16"
Grid.Row="1"
Source="..\Images\ToolBar\Help.png"
Grid.Column="2">
<Image.ToolTip>
<Grid
Background="LightGreen">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<StackPanel
Background="LightGreen"
Height="25"
Width="300"
Orientation="Horizontal"
HorizontalAlignment="Left"
VerticalAlignment="Top">
<Image
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
Width="24"
Height="24"
Source="/Images/Test.png"
Name="image1" />
<TextBlock
FontFamily="Aharoni"
Margin="5"
FontSize="20"
FontWeight="Bold"
Foreground="Black"
TextWrapping="Wrap"
VerticalAlignment="Top"
Height="Auto"
HorizontalAlignment="Right"
Width="Auto">
<Run
FontFamily="Calibri"
FontSize="14"
Foreground="DarkRed"
FontWeight="Bold"
Text="Bandwidth Base Value" />
</TextBlock>
</StackPanel>
<TextBlock
Grid.Row="1"
Background="LightGreen">
This is Help content</TextBlock>
</Grid>
</Image.ToolTip>
</Image>
Run Code Online (Sandbox Code Playgroud)
当用户鼠标悬停在图像控件上时,它会显示工具提示.当用户点击图片时,我可以明确地显示工具提示吗?
请帮忙!!
iphone ×2
java ×2
.net ×1
32bit-64bit ×1
3d ×1
android ×1
c ×1
c# ×1
c99 ×1
com ×1
createobject ×1
datetime ×1
graphics ×1
inheritance ×1
macos ×1
objective-c ×1
oop ×1
reflection ×1
sql-server ×1
tooltip ×1
unit-testing ×1
wpf ×1
wpf-controls ×1
xna ×1