package cn.xia.solar;

import java.awt.Color;

import java.awt.Graphics;

import java.awt.Image;

import cn.xia.util.GameUtil;

public class Planet extends Star{

//除了图片坐标 行星沿着某个椭圆运行:长轴,短轴,速度,角度; 绕着某个Star.

double longAxis;

double shortAxis;

double speed;

double degree;

Star center;

boolean satellite;

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(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 void draw(Graphics g){

//g.drawImage(img,(int)x,(int)y,null);

super.draw(g);

//沿着椭圆轨迹飞行

if(!satellite){

//drawTrace(g);

}

move();

}

public void move(){

x=(center.x+15) + longAxis*Math.cos(degree);

y=(center.y+15) + shortAxis*Math.sin(degree);

degree +=speed;

}

public void drawTrace(Graphics g){

double ovalX,ovalY,ovalWidth,ovalHeigth;

ovalWidth=longAxis*2;

ovalHeigth= shortAxis*2;

ovalX=center.x-longAxis+15;

ovalY=center.y-shortAxis+15;

Color c = g.getColor();

g.setColor(Color.blue);

g.drawOval((int)ovalX, (int)ovalY, (int)ovalWidth, (int)ovalHeigth);

g.setColor(c);

}

public Planet(String imgpath, double x, double y) {

super(imgpath, x, y);

}

public Planet(Image img, double x, double y) {

super(img, x, y);

}

}

java语言动画模拟_java swing动画模拟太阳系行星运行动画特效相关推荐

  1. html+div+动画效果,html+css3太阳系行星运转动画效果的实现代码

    原标题:html+css3太阳系行星运转动画效果的实现代码 做一个太阳系八大行星的运转动画,不包括行星的卫星,所有行星围绕太阳公转,行星采用纯色,暂时没有自转. 效果静态图: 动画中包括:太阳及各行星 ...

  2. 实现太阳系行星公转动画实例(CSS+HTML5 源码)

    实现太阳系行星公转动画实例(CSS+HTML5 源码) 效果图 源代码(CSS+HTML5) 效果图 源代码(CSS+HTML5) <html> <head> <styl ...

  3. java心形动画效果_java swing实现动态心形图案的代码下载

    package com.zuidaima.swing; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; ...

  4. 基于Java语言双色球摇奖过程的模拟实现

    作者 | 顾北 对这个世界充满向往的理想主义者 基于JAVA语言编写,模拟实现双色球摇奖器摇奖过程,产生的有效号码与用户输入的有效号码对比,输出用户的中奖情况. 用户首先输入自己购买的双色球号码(其中 ...

  5. Java语言特点可移植性_Java 语言具有很多优势和特点,以下()特点能保证软件的可移植性。...

    Java 语言具有很多优势和特点,以下()特点能保证软件的可移植性. 更多相关问题 We are always advised that ______________________(从书本汲取知识的 ...

  6. java语言环境变量_JAVA语言环境变量的设置教程

    本文主要向大家介绍了JAVA语言环境变量的设置教程,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 安装JDK到目录,我这里是C:\Java 右键点击计算机属性 在系统变量里面建 JA ...

  7. java语言提供结构_java学习之语句结构

    在java语言当中存在4中语句结构,分别是: 1.顺序结构 2.判断结构 3.选择结构 4.循环结构 一.顺序结构: 所谓的顺序结构,也就是当不指定其他三种语句结构的情况下,语句是从上往下依次执行的, ...

  8. java语言编程基础_Java编程基础02——Java语言基础

    1_(常量的概述和使用)* A:什么是常量(constant) 在程序执行的过程中其值不可以发生改变 B:Java中常量的分类 字面值常量 自定义常量(面向对象部分讲) C:字面值常量的分类 字符串常 ...

  9. java语言程序设计一_java语言程序设计(一)-1

    java 语言的特点是: 强类型,制定了比较多的语言规范,尽可能在编译阶段检测出更多的错误及警告. 编译和解释,首先将源代码编译成codebyte,运行时,java的运行系统装载和链接需要执行的类,并 ...

最新文章

  1. iPhone12机型判断
  2. Simulink仿真 第五节 复用器和分路器
  3. C++ Primer 5th笔记(chap 17 标准库特殊设施)匹配标志
  4. FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
  5. python 梯度下降_Python解释的闭合形式和梯度下降回归
  6. exchange java对象,【原】Java并发程序的一个应用Exchanger的实例
  7. Linux: 举例说明Linux diff 命令
  8. C++学习 ---- 系列文章
  9. [置顶] 怎么对待重复的代码
  10. golang基本语法——变量使用详解
  11. centos安装Gitlab Runner
  12. C#做小工具的时候碰到的问题
  13. Three.js杂记(十一)—— 精灵与粒子(绘制中国地图)
  14. Vue中动态切换组件
  15. C#编程,无损压缩图片的一种方法
  16. 6条开会清单,教你组织一场高效会议!
  17. 设计模式——策略模式
  18. ListView 实现阻尼回弹效果 并去除边缘阴影
  19. PyTorch—torch.utils.data.DataLoader 数据加载类
  20. h3c查看光纤光功率

热门文章

  1. mysql数据迁移到ES
  2. excel文件丢失怎么找回
  3. Multicast Routing
  4. 鼠标在滑块上滚轮控制_高速直线运动导轨—CUBIC滚轮直线导轨
  5. 使用MySQL Workbench进行数据库创建
  6. linux下 man getpid 显示没有getpid 的手册页条目
  7. 计算机组成原理复习笔记——一、计算机系统概述
  8. Hasee神舟战神Z7M-CT7NA笔记本电脑i7原装出厂Windows10系统恢复原厂OEM系统
  9. 日更计划Day1 USACO Feb BronzeT3
  10. 火云开发课堂 - 《Shader从入门到精通》系列 第十节:在Shader中实现模糊滤镜