我有5个在一定时间后在SurfaceView中随机创建的对象,
我将它们绘制在Draw方法上,如下所示:
bby.draw(canvas);
hyd.draw(canvas);
hole.draw(canvas);
我的问题是对象不会随机绘制!
例如:如果hyd
是在创建之前创建的,bby
直到bby
被创建和绘制并与其他对象相同时才会绘制。
我认为是因为Draw方法按以下顺序绘制对象:
1 bby.draw(canvas);
2 hyd.draw(canvas);
3 hole.draw(canvas);
但我不想要那样。
我怎样才能解决这个问题?(希望你明白我的意思)
如果将可绘制对象放在列表中,则可以访问随机索引以创建随机行为。List的remove方法使此操作很容易只绘制一次。
Random rand = new Random();
ArrayList<Draw> list = new ArrayList<Draw>();
// Add your elements here
while (!list.isEmpty()) {
// Gets a random index in the range of the list, then removes and returns it.
Draw elem = list.remove(rand.nextInt(list.size()));
// Do your drawing with your random Draw elem here
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句