当前位置: 技术问答>java相关
如何实现一固定长度的直线在面板上的移动?
来源: 互联网 发布时间:2015-01-24
本文导语: 就像 蛇吃豆子 那样,请给出具体的代码,一定送分~~~ | 这条线段可以有以下几个属性来确定:(无限平面)各属性应该不难实现。 1、线段的头端点:线段向哪个方向移动,那个方向的端点...
就像 蛇吃豆子 那样,请给出具体的代码,一定送分~~~
|
这条线段可以有以下几个属性来确定:(无限平面)各属性应该不难实现。
1、线段的头端点:线段向哪个方向移动,那个方向的端点就赋予这个属性。(应该是单向运动吧,不然 FIFO 要做成双向数组链表,移动时按比例递增头端点的 x,y 矢量值,可以做到任何角度的移动。)
2、线段的总长度:
3、线段的转折点 FIFO 数组链表:依次存储自端点到尾部的转折点,但不包括尾段点。线段转向时,转折点入队;一旦转折点到头端点的长度不小于线段总长时出队(划线时判断、处理)。
我想有思路应该好解决一些。老要代码...... 大概也没什么。(说起来容易做起来难嘛!)
请指正思路的可行性!
1、线段的头端点:线段向哪个方向移动,那个方向的端点就赋予这个属性。(应该是单向运动吧,不然 FIFO 要做成双向数组链表,移动时按比例递增头端点的 x,y 矢量值,可以做到任何角度的移动。)
2、线段的总长度:
3、线段的转折点 FIFO 数组链表:依次存储自端点到尾部的转折点,但不包括尾段点。线段转向时,转折点入队;一旦转折点到头端点的长度不小于线段总长时出队(划线时判断、处理)。
我想有思路应该好解决一些。老要代码...... 大概也没什么。(说起来容易做起来难嘛!)
请指正思路的可行性!
|
xiaming(虾米):
去年,我做过一个项目,代码我现在没有。你可以参考Java Web Start中的Draw里面有
图形的选中及移动。
去年,我做过一个项目,代码我现在没有。你可以参考Java Web Start中的Draw里面有
图形的选中及移动。
|
给你做一个简单例子,仅仅是一条直线水平移动。其他的自己想吧。
import java.awt.Frame;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Canvas;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowListener;
import java.awt.event.WindowEvent;
public class Frame2 extends Frame {
public Frame2() {
this.add(new MyCanvas());
}
class MyCanvas extends Canvas {
public void paint(Graphics g) {
g.setClip(0, 0, 640, 480);
g.setColor(Color.red);
for (int i = 0; i
import java.awt.Frame;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Canvas;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowListener;
import java.awt.event.WindowEvent;
public class Frame2 extends Frame {
public Frame2() {
this.add(new MyCanvas());
}
class MyCanvas extends Canvas {
public void paint(Graphics g) {
g.setClip(0, 0, 640, 480);
g.setColor(Color.red);
for (int i = 0; i
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。