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

Processing中如何让移动火柴人移出屏幕顶部后从底部重新出现

问题原因

你当前的代码问题出在Stick类的move()方法中,边界判断逻辑和移动方向完全不匹配:

  • 火柴人向上移动时,y坐标会不断减小,当y小于0的时候就会逐步移出屏幕顶部
  • 你当前的判断条件是if (this.y>height),只有火柴人移动到屏幕底部下方才会触发重置,完全不符合向上移动的场景
修改方案

直接替换Stick类中的move()方法代码即可:

void move()
{
  this.y = this.y - speedY;
  // 当火柴人完全移出屏幕顶部时,重置位置到屏幕底部
  if (this.y < -img1.height) {
    this.y = height;
  }
}
补充说明
  • 原来代码里的注释//move rightwards是错误的,当前逻辑是向上移动,可自行修正注释避免后续混淆
  • 如果需要调整火柴人出现的初始位置,修改重置时的this.y赋值即可,比如想让它从底部外一点开始出现,可以设为height + 10

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 18:06:01