当前位置: 首页 > 面试题库 >

在屏幕上随机生成一个圆圈,使其变为绿色或红色

邓焱
2023-03-14
问题内容

因此,我一直试图制作一个在Android屏幕上随机显示带有文本的红色按钮或带有文本的绿色按钮的游戏应用程序。如果有人可以帮助我,我将不胜感激。另外,如果有人知道该怎么做,我想慢慢产生更快的降温空间。谢谢!

@SuppressLint("DrawAllocation")
@Override
protected void onDraw(Canvas canvas){

    String str = "Joke of the day";
    super.onDraw(canvas);
    paint = new Paint();
    Random random = new Random();
    Random randomTwo = new Random();

    //Rect ourRect = new Rect();
    Rect topRect = new Rect();
    Rect backGround = new Rect();

    paint.setColor(Color.BLACK);
    backGround.set(0,0,canvas.getWidth(),canvas.getHeight());
    canvas.drawRect(backGround, paint);
    for(int i = 0; i <= 900; i++;){

    }

    if(blank == time){
        paint.setColor(Color.RED);
        canvas.drawCircle(random, randomTwo, 230, paint);
    }else {
        paint.setColor(Color.GREEN);
        canvas.drawCircle(random, randomTwo, 230, paint);
    }
}

问题答案:

您只需要一个Random实例。

声明private long lastUpdated = 0;private int lastColor = Color.BLACK;对的onDraw之外。

将底部更新为:

final float radius = 230f;
if(System.currentTimeMillis() > lastUpdated + 1000){
    lastColor = random.nextInt(2) == 1 ? Color.RED : Color.GREEN;
    lastUpdated = System.currentTimeMillis();
}
paint.setColor(lastColor);
canvas.drawCircle(random.nextInt(canvas.getWidth()-radius/2) + radius/2f, random.nextInt(canvas.getHeight()-radius/2) + radius/2f, radius, paint);

这将每秒在随机位置绘制一个红色或绿色的圆圈。

您需要半径为2,因为坐标是从圆心开始的。

至于您的问题的第二部分, 我也想在旁注中慢慢产生更快的冷静 。您必须澄清您的意思。

编辑:在此处提供了更完整(更正确)的示例:https
:
//gist.github.com/mshi/8287fd3956c9a917440d



 类似资料:
  • 点击一次屏幕,就会出现一个不断扩大的圆圈效果。可以自定义圆圈颜色。Gif动画是小编不断点击屏幕产生的类似水纹的效果。 [Code4App.com]

  • 本文向大家介绍在HTML5画布上绘制一个填充有随机颜色正方形的圆圈,包括了在HTML5画布上绘制一个填充有随机颜色正方形的圆圈的使用技巧和注意事项,需要的朋友参考一下 当我们需要在浏览器中用1x1像素填充所有不同颜色的圆时,我们可以使用以下简单方法:  在画布上以200x200网格绘制具有某些随机颜色的所有像素  更改复合模式  在顶部绘制圆 让我们看一个例子:

  • 问题内容: 该方法返回单个int。如何分别获得红色,绿色和蓝色作为0到255之间的值? 问题答案: Java的Color类可以进行转换:

  • 我在Project Explorer中的Intellij Idea文件名都有一个红色的小圆圈,上面写着“J”。那代表什么?

  • 问题内容: 鉴于此功能,我想更换 颜色 与颜色随机发生器。 我该怎么做? 问题答案: 使用代替:

  • 我正在做一个需要在Android上使用OpenGL处理视频的项目。我决定使用MediaCodec,在ExtractDecodeCodeMuxtest的帮助下,我成功地让它工作。结果非常好,我让它接收视频,提取轨迹,解码视频轨迹,用OpenGL编辑,并编码成视频文件。 问题是,结果视频可以在Android上很好地播放,但在iOS上,三分之二的屏幕是绿色的。 我试着用这里,这里,这里的建议来解决问题,