当前位置:编程学习 > JAVA >>

关于java线程的问题

--------------------编程问答-------------------- 是用Swing做的吗,如果是建议用Timer这么个类,不用创建线程。 --------------------编程问答--------------------
引用 1 楼 kingxie403 的回复:
是用Swing做的吗,如果是建议用Timer这么个类,不用创建线程。


嗯  这是电脑tank 因为是自动的而且不止一辆  所以做成了线程 --------------------编程问答-------------------- 每次改变方向和开火时间都记录下来
线程运行时不断和上次改变方向和开火时间进行比较,符合条件就做相应动作,然后更新时间 --------------------编程问答-------------------- 是否添加个变量 比如 i=0 每次坦克转一次 就说明过去1s 则i++ 如果 i%4==0则fire --------------------编程问答-------------------- 取决于你的整个游戏架构。

如果你禁用了 Swing 自身的重绘机制,自己另外实现了单线程队列的 FPS(Frame Per Sedond) 机制,那你可以精确控制每一帧做什么,设计一个“毫秒表”的类,检测1000ms和4000ms就行了。

如果你用了 Swing 自带的机制,那就用 javax.swing.Timer,你可以用单独的 Timer 来专门控制变向和开火,但是更好的机制大概是整个游戏只用一个 Timer,虽然不是严格的 FPS 但是跟FPS类似,Timer 以很高的频率执行两个方法:

- update model
- repaint view

其中 update model 的时候可以去检查所有坦克的“毫秒表”距上次转向/开火过了多少时间,是不是应该转向/开火了。

网上很多视频教程里教的用 Swing 做游戏是错的,很多用了 Thread/Runnable,然后在后台线程里直接更改model里的数据,至少是线程不安全。

做这种游戏,几乎可以说你用了多线程就已经错了。 --------------------编程问答-------------------- 我以前在Swing做动画就是用这个javax.swing.Timer这个类的,很好用的,而且容易控制。 --------------------编程问答--------------------
引用 6 楼 kingxie403 的回复:
我以前在Swing做动画就是用这个javax.swing.Timer这个类的,很好用的,而且容易控制。


而且保证了线程安全,符合EDT规范。

使用正确的API工具的好处还有: API的提供者会尽可能保证它的时间精度,不用你自己操心。 --------------------编程问答--------------------
引用 7 楼 raistlic 的回复:
引用 6 楼 kingxie403 的回复:我以前在Swing做动画就是用这个javax.swing.Timer这个类的,很好用的,而且容易控制。

而且保证了线程安全,符合EDT规范。

使用正确的API工具的好处还有: API的提供者会尽可能保证它的时间精度,不用你自己操心。

楼上说的很专业,线程这块我也不是很懂,也没用多线程写过什么实质性的代码。 --------------------编程问答--------------------
引用 7 楼 raistlic 的回复:
引用 6 楼 kingxie403 的回复:我以前在Swing做动画就是用这个javax.swing.Timer这个类的,很好用的,而且容易控制。

而且保证了线程安全,符合EDT规范。

使用正确的API工具的好处还有: API的提供者会尽可能保证它的时间精度,不用你自己操心。

高手能给我解决一个图片抗锯齿的问题吗?
我的问题的是这样的,在JPanel上画一张图片,然后旋转图片,发现旋转到一定角度之后,图片的四边有锯齿 , 怎么解决?网上说的g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);这个方法不行效果不明显。好像只能处理文本的锯齿 --------------------编程问答--------------------
引用 9 楼 kingxie403 的回复:
引用 7 楼 raistlic 的回复:引用 6 楼 kingxie403 的回复:我以前在Swing做动画就是用这个javax.swing.Timer这个类的,很好用的,而且容易控制。

而且保证了线程安全,符合EDT规范。

使用正确的API工具的好处还有: API的提供者会尽可能保证它的时间精度,不用你自己操心。
高手能给我解决一个图片抗锯齿的问题吗?
……


你刚刚贴问题我就看到了
因为自己没搞过图片旋转所以回答不了……

http://www.jhlabs.com/ip/filters/
你可以试试这里面的 RotateFilter
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,