0

我正在使用一个名为 Greenfoot 的程序来执行我的 java 项目。Greenfoot 中有两个“演员”随机移动。我想这样当一个演员接触另一个演员时,它有一定的百分比将另一个演员更改为相同的图像。我该如何做到这一点?

4

2 回答 2

1

您是否正在寻找对象碰撞。如果是,请阅读: http ://www.greenfoot.org/doc/manual.html#collisions

于 2011-06-10T16:19:06.827 回答
0

我想你的意思是你希望有机会交换图像?

如果是这样,您将需要使用 actor 的 getIntersectingObjects() 方法来确定是否有任何其他 actor 与这个相交。

如果有,您可以使用同样在 Actor 上的 getImage() / setImage() 方法来获取当前 Actor 和您正在碰撞的那个 Actor 的图像并交换它们:

http://www.greenfoot.org/doc/javadoc/greenfoot/Actor.html#getImage () http://www.greenfoot.org/doc/javadoc/greenfoot/Actor.html#setImage ()

至于随机性,您需要 Greenfoot.getRandomNumber() 方法:

http://www.greenfoot.org/doc/javadoc/greenfoot/Greenfoot.html#getRandomNumber(int )

您可以测试返回的数字以查看它是否高于(或低于)某个阈值,以决定您的随机结果以及是否要交换数字。

这些都是您应该需要的 Greenfoot 方法,我将把实现留作练习!

于 2011-07-31T17:43:16.580 回答