我有Android问题。我正在尝试制作项目,我在随机位置绘制圆圈。触摸此圆圈后,您将获得一个分数,圆圈将消失。但是我有一个问题,我的对象产生然后在没有触摸的情况下消失并在另一个位置产生。 这是我的产卵者代码。
protected void spawner(Canvas canvas,int timer){
System.out.println(myThread.timer);
if (myThread.timer>100) {
int x = 200 - generator.nextInt() % (myThread.screenDimX / 2);
int y = 200 - generator.nextInt() % (myThread.screenDimY / 2);
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.WHITE);
paint.setColor(Color.parseColor("#800000"));
canvas.drawCircle(x, y,50, paint);
myThread.timer=0;
}
}
myThread
是我的游戏循环线程。
谁能帮我这个?
答案 0 :(得分:0)
我可以告诉你一件事,我不知道你是否有问题,是不是所有的UI组件操作都应该在UI线程上进行,而不是在你的其他线程。 目前还不清楚是否在定时器线程或UI线程的回调上调用此方法。如果您从UI线程调用它,则可能是UI线程和Timer线程同时写入myThread.timer,并且看起来如此,您无法保护它。
答案 1 :(得分:0)
你只是在myThread.timer大于100时绘制那个圆圈。你需要做的是将它添加到ArrayList,或者你想要的任何数据结构,然后不断循环遍历那个ArrayList和绘制所有圆圈。