You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:实现方块左右往返移动并切换颜色的代码问题

方块往返移动并切换方向变色实现方案

以下是完整的可运行Processing代码,实现方块从左边缘出发、Y轴位置固定,左右往返移动且每次切换方向时改变颜色的功能:

color blau = #2E3BFF;     // 蓝色
color vermell = #FF2E2E;  // 红色
float position_X;         // X轴位置变量
float speed = 3.0;        // 移动速度
color currentColor;       // 当前方块颜色
int direction = 1;        // 移动方向:1向右,-1向左

void setup() {
  size(600, 400);         // 设置画布大小
  position_X = 0;         // 初始位置从左边缘开始
  currentColor = blau;    // 初始颜色设为蓝色
}

void draw() {
  background(255);        // 清空画布
  
  // 更新X轴位置
  position_X += speed * direction;
  
  // 检测边界并切换方向、颜色
  if (position_X >= width - 50) {  // 方块宽度设为50,碰到右边界触发切换
    direction = -1;
    currentColor = vermell;
  } else if (position_X <= 0) {    // 碰到左边界触发切换
    direction = 1;
    currentColor = blau;
  }
  
  // 绘制方块:Y轴固定在画布垂直中心,宽度50、高度50
  fill(currentColor);
  rect(position_X, height/2 - 25, 50, 50);
}

关键逻辑说明:

  • 方向控制:用direction变量(1/-1)控制移动方向,与速度相乘后更新X轴位置
  • 边界检测:判断方块是否触达左右边缘(减去方块自身宽度,避免方块部分移出画布才触发切换)
  • 颜色切换:每次切换方向时直接为currentColor赋值新颜色,绘制时使用该颜色填充方块

内容的提问来源于stack exchange,提问作者atzru090

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 11:33:11