java中repaint方法例子_Java中的repaint()方法在翻译后不会重绘我的Rectangle

我正在制作一个游戏,在这个游戏中,我必须在n×n格子上移动小方格,并且他们必须平稳过渡。这是我所做的交换方法,它应该能够在屏幕上绘制我的过渡,但由于某种原因,它并没有这样做。我在一个简单的项目上尝试了一个更简单的代码版本,来回移动一个Square,它的功能就像一个魅力,所以我不确定为什么这不会重新绘制。这只是我的代码中的一小部分,所以如果对我的代码有其他疑问,请去问。

提前致谢。 (:

public void swap( int y, int x ) {

long time = System.currentTimeMillis();

int counter = 0;

swapNum = tiles[y][x];

rect = (Rectangle) rectangles[y][x].clone();

while(counter < rect.height) {

if(System.currentTimeMillis() - time > 5) {

rect.translate(this.y-y, this.x-x);

time = System.currentTimeMillis();

counter++;

repaint();

}

}

swapNum = 0;

rect = new Rectangle();

int temporary = tiles[this.y][this.x];

tiles[this.y][this.x] = tiles[y][x];

tiles[y][x] = temporary;

this.x = x;

this.y = y;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值