Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

160
Vistas
Manipulación de variables no estáticas

Entonces, en mi clase estamos haciendo que los objetos se muevan de acuerdo con las variables de coordenadas x e y, cosas bastante simples. Sin embargo, parece que solo puedo hacer que el mío funcione si declaro las variables x e y en una clase estática separada, mientras que el código de ejemplo de los maestros no parece hacer esto. He estado mirando el código de ejemplo de los maestros, y tiene sentido por qué funciona como lo hace, pero cuando trato de aplicar métodos similares a mi código, parece que no funciona y no puedo averiguar qué es lo que estoy haciendo. estoy haciendo mal

Código del profesor:

 // A Bug that moves from left to right and vibrates up and down randomly in the output window class Bug { // The x- and y-coordinates as well as the speed a Bug is moving int x; int y; int speed; // The color of the Bug int red; int green; int blue; // Initialize the x- and y-coordinates, the speed and the RGB colors Bug() { x = -80; y = (int) random(10, height - 10); speed = (int) random(1, 5); red = (int) random(255); green = (int) random(255); blue = (int) random(255); } // Set the fill color and ellipseMode // Create a for loop that draw “bugs” as six consecutive attached circles void displayBug() { fill(red, green, blue, 175); ellipseMode(CENTER); for (int ctr = 0; ctr < 90; ctr += 15) { circle(x + ctr, y, 20); } } // Add the speed instance variable to the x-coordinate // Add a random value between -2 and 2 to the y-coordinate void moveBug() { x += speed; y += (int) random(-2, 2); } // Constrain the y-coordinate between 10 and the height of the output window minus 10 void boundaries() { y = constrain(y, 10, height - 10); } // If the x-coordinate is greater than width of the output window, reset the x-coordinate to -80 void resetBug() { if (x > width) { x = -80; } } }

Ejemplo de mí tratando de hacer que un círculo se mueva sin una clase estática:

 class Test{ int x; int y; int speed; Test(){ x = 1; y =(int) random(0,400); speed = 1; } void drawThing(){ circle(x,y,10); } void moveThing(){ x += speed; } }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Aquí estaba el código que tenía en mi controlador:

 Test draw; Test move; void setup(){ size(400,400); draw = new Test(); move = new Test(); } void draw(){ draw.drawThing(); move.moveThing(); }

pero cambiando move por move.moveThing con draw.moveThing lo arregló.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda