我终于能够在我的Windows Vista系统上成功安装Windows SDK工具(v.7.1).我已经安装了GCC编译器,这是我目前用来编译C代码的.
我在哪里可以找到WinSDK的文档,我该如何将其包含在GCC中?
我在发行说明或其他任何内容中找不到任何解释.但是,如果你能找到解释它的东西,请随时给我一个链接.
我目前正在使用我设计的动画引擎,它接受Drawable类型的对象并将它们添加到List中.Drawable是一个有一个方法的接口:
public void draw(Graphics2D g2d);
Run Code Online (Sandbox Code Playgroud)
扩展动画管理器遍历此列表并在每个对象上调用draw()方法,传递从Swing组件获取的Graphics2D对象.
这种方法起初看起来效果很好,但正如我所担心的,从长远来看似乎无法处理多个对象.
只有两个Drawables注册,两个都在屏幕上绘制图像,我看到30-60秒后有点闪烁.
有没有办法优化这种方法?它当前调用AWT线程(invokeLater)来处理所有任务.并发绘图实际上不是一个选项,因为这几乎总是会导致Swing/AWT出现问题,这在很大程度上是由于Graphics不同步.
如果这只是一种不好的动画制作方法,那么当你有多个对象需要用自己特定的变量来渲染咳嗽游戏咳嗽时,更好的方法是什么?
任何帮助,将不胜感激.谢谢!
编辑:
我不能使用repaint()因为我的引擎已经调用了AWT线程来绘制东西.如果我从AWT线程调用invokeLater,图像永远不会被绘制出于某种原因.
我还应该补充一点,我正在使用ticks和fps系统.60蜱@ 120 fps.
每个刻度都会更新游戏逻辑,而每个帧渲染调用绘制在帧管理器上.
这是一个坏主意吗?我应该只使用FPS而不是滴答声吗?
我正在自学C(来自Java).我非常欣赏这门语言,而且我学习它的主要原因之一是我可以利用Java内置的JNI功能在必要时编写本机代码.我的问题主要是关于Windows API.我可以仅使用C来使用API的功能和特性吗?
Windows API是否与纯C代码兼容,或者它是否包含只能由C++代码使用的类?
另外,如果我在Windows机器上编译共享库(lib.sl NOT lib.dll),它是否可以在另一台机器(Mac/Linux)上运行?
我目前正在学习C编程语言(来自Java),我对如何定义宏感到困惑.
为了让其他代码使用宏,头文件必须具有它.但是如果我在头文件中定义宏,那么源文件就无法使用它.我是否必须在两者中定义它,还是必须#include源文件自己的头文件?