愛心軌跡Java代碼 java編程愛心如何編

java如何編寫用鼠標脫出軌跡 我的代碼怎么修改就有軌跡了 求幫助

把鼠標的x和y放一個隊列里,限定隊列長度,每次都把隊列里的點畫出來就行了。

阿勒泰網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)于2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)

用java寫一個物體移動的軌跡

lz 你好

我做了一個比較簡單的雛形

綠色正方形水平隨機運動

藍色正方形垂直隨機運動

import?java.awt.*;

import?javax.swing.*;

import?java.awt.event.*;

import?java.math.*;

public?class?MoveRect?extends?Frame?implements?Runnable{

private?Rectangle?hRect,?vRect;

private?Image?buffer;

private?Object?o?=?new?Object();

public?MoveRect(){

super("MoveRect");

hRect?=?new?Rectangle(50,0,50,50);//水平隨機運動的正方形

vRect?=?new?Rectangle(0,50,50,50);//垂直隨機運動的正方形

setUndecorated(true);??

setLocation(500,200);

setSize(400,400);

setVisible(true);

addWindowListener(new?WindowAdapter(){

public?void?windowClosing(WindowEvent?e){

System.exit(0);

}

});

}

//啟動循環(huán)繪制(使正方形一直循環(huán)的運動)

public?void?circleDraw(){

}

//繪制正方形的狀態(tài)

public?void?drawRect(Graphics?g,Rectangle?r){

g.drawRect(r.x,?r.y,?r.width,?r.height);

}

//雙緩沖機制(主要解決閃屏)

public?void?update(Graphics?g){

buffer?=?createImage(getSize().width,?getSize().height);

if(buffer?!=?null){??????????

Graphics?g2?=?buffer.getGraphics();

paint(g2);

g2.dispose();??????

g.drawImage(buffer,?0,?0,?this);????????

}

else{

paint(g);

}

}

public?void?paint(Graphics?g){??????

g.setColor(Color.GREEN);

drawRect(g,hRect);

g.setColor(Color.BLUE);

drawRect(g,vRect);

hRect.x?=?(int)(Math.random()*351);

vRect.y?=?(int)(Math.random()*351);??

}

public?void?run(){

while(true){

stop();

rePaint();

}??????????????

}

//同步方法rePaint

public?synchronized?void?rePaint(){

repaint();

}

//同步方法stop

public?synchronized?void?stop(){

if(hRect.x?=?50??vRect.y?=?50){

try?{

Thread.sleep(500);

}

catch?(Exception?ex)?{

ex.printStackTrace();

}

}??????

}

public?static?void?main(String[]?args){????

new?Thread(new?MoveRect()).start();

}

}

Java如何讓多個圖片都按照一定軌跡下落

圖片的位移(下落),可以通過修改圖片的x,y坐標來實現(xiàn), 在Swing/Html中,我們可以使用Timer定時(比如每隔100毫秒)去修改圖片的x,y坐標即可實現(xiàn),

多個圖片都按照一定的軌跡移動,那都按照自己的軌跡的算法,去定時修改x,y坐標即可.

JavaFX是java先進的圖形界面框架, 里面有3D和各種動畫, 所以按照軌跡移動,都能輕松實現(xiàn)

JavaFX參考代碼如下

import?javafx.animation.Animation;

import?javafx.animation.Interpolator;

import?javafx.animation.PathTransition;

import?javafx.animation.RotateTransition;

import?javafx.application.Application;

import?javafx.geometry.Insets;

import?javafx.scene.Group;

import?javafx.scene.Scene;

import?javafx.scene.control.Button;

import?javafx.scene.image.ImageView;

import?javafx.scene.layout.HBox;

import?javafx.scene.shape.MoveTo;

import?javafx.scene.shape.Path;

import?javafx.scene.shape.QuadCurveTo;

import?javafx.stage.Stage;

import?javafx.util.Duration;

public?class?PathAnimateDemo?extends?Application?{

public?static?void?main(String[]?args)?{

launch(args);

}

@Override

public?void?start(Stage?primaryStage)?throws?Exception?{

ImageView?imv=new?ImageView(getClass().getResource("ball.png").toExternalForm());

Path?path?=?new?Path();//?路徑;運動軌跡

MoveTo?mt?=?new?MoveTo(20,?50);

QuadCurveTo?quadTo2?=?new?QuadCurveTo(175,?190,?350,?30);

path.getElements().addAll(mt,?quadTo2);

HBox?hbox?=?new?HBox(10);

Button?btnStart?=?new?Button("開始");

Button?btnPause?=?new?Button("暫停");

Button?btnResume?=?new?Button("繼續(xù)");

Button?btnStop?=?new?Button("結(jié)束");

hbox.getChildren().addAll(btnStart,?btnPause,?btnResume,?btnStop);

hbox.setPadding(new?Insets(20));

hbox.setLayoutX(80);

hbox.setLayoutY(230);

Group?root?=?new?Group();

root.getChildren().addAll(imv,?path,?hbox);?//?不添加path.就可以不顯示path了

Scene?scene?=?new?Scene(root,?430,?300);

primaryStage.setTitle("JavaFX");

primaryStage.setScene(scene);

primaryStage.show();

//旋轉(zhuǎn)動畫設(shè)置

RotateTransition?rt=new?RotateTransition(Duration.millis(1000),imv);

rt.setInterpolator(Interpolator.LINEAR);

rt.setFromAngle(0);

rt.setToAngle(360);

rt.setCycleCount(Animation.INDEFINITE);

rt.play();

//路徑動畫設(shè)置

PathTransition?pt?=?new?PathTransition(Duration.millis(800),?path,?imv);//?路徑動畫

pt.setCycleCount(Animation.INDEFINITE);

pt.setAutoReverse(true);

btnStart.setOnAction(e?-?{

pt.playFromStart();//?從頭開始播放

});

//----按鈕的響應(yīng)設(shè)置---

btnPause.setOnAction(e?-?{

pt.pause();

});

btnResume.setOnAction(e?-?{

pt.play();?//?播放

});

btnStop.setOnAction(e?-?{

pt.jumpTo(new?Duration(0));//?跳到第0秒處

pt.stop();

});

}

}

文章標題:愛心軌跡Java代碼 java編程愛心如何編
新聞來源:http://muchs.cn/article46/doeiceg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版網(wǎng)站維護、建站公司移動網(wǎng)站建設(shè)、微信公眾號、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化