Java 我将如何在垂直堆栈中绘制4个正方形并前后移动?
如何在垂直堆栈中绘制4个正方形?使用循环前后移动,以避免在绘制4个正方形时重复相同的代码4次。这些方块应该作为一个整体移动,当其中任何一个碰到窗户边缘时,所有方块都会改变方向Java 我将如何在垂直堆栈中绘制4个正方形并前后移动?,java,processing,Java,Processing,如何在垂直堆栈中绘制4个正方形?使用循环前后移动,以避免在绘制4个正方形时重复相同的代码4次。这些方块应该作为一个整体移动,当其中任何一个碰到窗户边缘时,所有方块都会改变方向 float location; float sizeWidth; float sizeHeight; float direction; boolean moving; void setup() { size (1280, 720); location = 0; direction = height/720;
float location;
float sizeWidth;
float sizeHeight;
float direction;
boolean moving;
void setup() {
size (1280, 720);
location = 0;
direction = height/720;
sizeWidth = 90;
sizeHeight = 90;
moving = true;
}
void draw() {
background(255);
stroke(0);
strokeWeight(1);
for (int i = 0; i < width; i = i + 90) {
line(0, i, 1280, i);
line(i, 0, i, 720);
}
fill (255, 147, 79);
int steppedPos = (int)(location/sizeHeight+0.5);
rect(0, steppedPos*sizeHeight, sizeWidth, sizeHeight);
if (moving) {
location = location + direction;
if (location + sizeHeight > height || location < 0){
direction = direction * -1;
location = location + direction;
}
}
}
void keyPressed() {
if (key == ' ') {
moving = !moving;
}
}
浮动位置;
浮子尺寸;
浮子尺寸;
浮动方向;
布尔移动;
无效设置(){
规模(1280720);
位置=0;
方向=高度/720;
尺寸宽度=90;
尺寸高度=90;
移动=真;
}
作废提款(){
背景(255);
冲程(0);
冲程重量(1);
对于(int i=0;i高度| |位置<0){
方向=方向*-1;
位置=位置+方向;
}
}
}
按下void键(){
如果(键==''){
移动=!移动;
}
}
创建一个正方形
而不是单个变量位置
、尺寸宽度
、尺寸高度
和方向
:
classsquare{
浮动位置X;
浮动定位;
浮子尺寸;
浮子尺寸;
浮动方向;
颜色颜色;
正方形(浮动x、浮动y、浮动w、浮动h、浮动d、颜色c){
位置x=x;
位置y=y;
尺寸宽度=w;
尺寸高度=h;
方向=d;
col=c;
}
// [...]
}
为正方形添加一个数组变量:
Square[];
以以下方式创建正方形:
void setup(){
// [...]
正方形=新正方形[4];
对于(int i=0;i
添加可以绘制方形对象的方法:
classsquare{
// [...]
作废提款(){
填充(col);
int steppedPosX=(int)(位置x/sizeWidth+0.5);
int steppedPosY=(int)(位置/大小权重+0.5);
rect(steppedPosX*sizeWidth,steppedPosY*sizeHeight,sizeWidth,sizeHeight);
}
}
在循环中绘制正方形:
void draw(){
// [...]
对于(int i=0;i
添加移动方形对象的方法:
classsquare{
// [...]
无效移动(){
位置Y=位置Y+方向;
如果(位置Y+尺寸高度>高度| |位置Y<0){
方向=方向*-1;
位置Y=位置Y+方向;
}
}
}
在循环中移动正方形:
void draw(){
// [...]
如果(移动){
对于(int i=0;i
请参见示例:
classsquare{
浮动位置X;
浮动定位;
浮子尺寸;
浮子尺寸;
浮动方向;
颜色颜色;
正方形(浮动x、浮动y、浮动w、浮动h、浮动d、颜色c){
位置x=x;
位置y=y;
尺寸宽度=w;
尺寸高度=h;
方向=d;
col=c;
}
作废提款(){
填充(col);
int steppedPosX=(int)(位置x/sizeWidth+0.5);
int steppedPosY=(int)(位置/大小权重+0.5);
rect(steppedPosX*sizeWidth,steppedPosY*sizeHeight,sizeWidth,sizeHeight);
}
无效移动(){
位置Y=位置Y+方向;
如果(位置Y+尺寸高度>高度| |位置Y<0){
方向=方向*-1;
位置Y=位置Y+方向;
}
}
}
布尔移动;
正方形[];
无效设置(){
规模(1280720);
正方形=新正方形[4];
对于(int i=0;i
查看周一的讲座!我们正好谈到了这一点 戴姆?