我正在尝试使用处理创建一个太阳系,但我一直试图设置图像而不是使用java标准椭圆图像。 我是在学校开始的,它是围绕另一个椭圆旋转的椭圆。
package processing;
import processing.core.PApplet;
import processing.core.PImage;
public class SolarSystem extends PApplet{
PImage background;
Pianets earth;
public void settings() {
size(650,500);
}
public void setup() {
background = loadImage("C:\\background\\bg.jpg");
earth = new Pianets(this, width/2,height/2,40, 200, 0);
}
public void draw() {
background(background);
earth.showEarth();
earth.rotateEarth(0.007f);
}
public static void main(String[] args) {
PApplet.main("processing.SolarSystem");
}
}
行星类
package processing;
import processing.core.PApplet;
public class Pianets {
PApplet vis;
float x0,y0; //centre
float diam;
float r; //distance from the centre
float alpha; //rotation angle
public Pianeti(PApplet applet, float x, float y, float diam,float r, float alpha){
vis = applet;
this.x0=x;
this.y0=y;
this.diam=diam;
this.r=r;
this.alpha=alpha;
}
void rotateEarth(float deltaAlpha){
alpha +=deltaAlpha;
}
void showEarth(){
//drawing the body of object at the centre
vis.ellipse(x0, y0, diam, diam);
float x = x0 + r*vis.cos(alpha);
float y = y0 + r*vis.sin(alpha);
vis.ellipse(x,y,diam,diam);
}
我在地球和太阳的油漆上创建了两个图像,但我不知道如何设置图像。
答案 0 :(得分:0)
通过查看the Processing reference可以最好地回答这样的问题。 图片部分列出了用于加载图像文件的loadImage()
函数,以及用于绘制图像文件的image()
函数。请阅读这些。
你也应该养成breaking your problem down into smaller pieces的习惯。例如,不要发布整个项目(这与现在加载图像无关),而是尝试创建一个只显示单个图像的较小示例程序。在继续前进之前要完美地工作。然后,如果您对某些事情感到困惑,可以发布MCVE以及特定的技术问题。
无耻的自我推销:我在Processing available here中写了一个关于图像的教程。