基本信息
源码名称:java 星球转动效果
源码大小:0.08M
文件格式:.zip
开发语言:Java
更新时间:2015-12-30
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
package cn.bjsxt.solar;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import cn.bjsxt.util.GameUtil;
public class Planet extends Star {
//除了图片,坐标。 行星沿着某个椭圆运行:长轴、短轴、速度、角度。 绕着某个Star飞。
double longAxis; //椭圆的长轴
double shortAxis; //椭圆的短轴
double speed; //飞行的速度
double degree;
Star center;
boolean satellite;
public void draw(Graphics g){
super.draw(g);
move();
if(!satellite){
drawTrace(g);
}
}
public void drawTrace(Graphics g){
double OvalX,OvalY,OvalWidth,OvalHeight;
OvalWidth=longAxis*2;
OvalHeight=shortAxis*2;
OvalX=(center.x center.width/2)-longAxis;
OvalY=(center.y center.height/2)-shortAxis;
Color c=g.getColor();
g.setColor(Color.blue);
g.drawOval((int)OvalX,(int)OvalY, (int)OvalWidth,(int)OvalHeight);
g.setColor(c);
}
public void move(){
//沿着椭圆轨迹飞行
x = (center.x center.width/2) longAxis*Math.cos(degree);
y = (center.y center.height/2) shortAxis*Math.sin(degree);
degree = speed;
}
public Planet(Star center,String imgpath, double longAxis,
double shortAxis, double speed) {
super(GameUtil.getImage(imgpath));
this.center = center;
this.x = center.x longAxis;
this.y = center.y;
this.longAxis = longAxis;
this.shortAxis = shortAxis;
this.speed = speed;
//this.width = img.getWidth(null);
//this.height = img.getHeight(null);
}
public Planet(Star center,String imgpath, double longAxis,
double shortAxis, double speed,boolean satellite) {
this(center, imgpath, longAxis, shortAxis, speed);
this.satellite = satellite;
}
public Planet(Image img, double x, double y) {
super(img, x, y);
}
public Planet(String imgpath, double x, double y) {
super(imgpath, x, y);
}
}