微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在加工中按键盘“1”和“2”时如何选择形状

如何解决在加工中按键盘“1”和“2”时如何选择形状

问题是创建两个形状并移动它们,当你按下'1'时,你可以控制方形移动,当你按下'2'时你可以控制圆形移动。 这是我到目前为止所做的。 我的班

node_modules/@google/earthengine

主要功能

class MyShape{
int x,y;
void display(){
stroke(0);
rect(200+x,200+y,50,50);
}
void cycle(){
stroke(0);
ellipse(100+x,100+y,50);
}
void move(){
if(keypressed && key == CODED){
if(keyCode == LEFT){
x--;
}else if(keyCode == RIGHT){
x++;
}else if(keyCode == UP){
y--;
}else if(keyCode == DOWN){
y++;
}
 }
  }
   }

我尝试使用if来选择这两个形状,但它不起作用,我跑步时看不到形状或无法控制

谢谢你们的帮助,我很感激

解决方法

您可以首先将圆和正方形分成两个不同的类,然后创建一个名为“Shape”的超类。然后你的 Circle 和 Square 类将从这个 Shape 类继承。 形状类文件:

abstract class Shape
{
  int x,y;
  
  abstract void display();
  
  void move()
  {
    if(keyPressed)
    {
      if(keyCode == LEFT) x--;
      else if(keyCode == RIGHT) x++;
      else if(keyCode == UP) y--;
      else if(keyCode == DOWN) y++;
    }
  }
}

方形类文件:

class Square extends Shape
{
  void display()
  {
    stroke(0);
    rect(200+x,200+y,50,50);
  }
}

圆形类文件

class Circle extends Shape
{
  void display()
  {
    stroke(0);
    ellipse(100+x,100+y,50);
  }
}

之后我们需要找到一种方法来选择相对于按下的键移动的形状。我们可以通过创建一个变量来做到这一点,当我们按下“1”键或“2”键时,该变量将保持当前形状以移动和更改它。主文件:

Circle circle;
Square square;

Shape currentShape;

void keyPressed()
{
  if(key == '1')
    currentShape = square;
  else if(key == '2')
    currentShape = circle;
}

void setup(){
  size(400,400);
  circle = new Circle();
  
  square = new Square();
}

void draw(){
  background(0);
  circle.display();
  square.display();
  
  if(currentShape != null)
    currentShape.move();
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。