0

我正试图让一个婴儿把球踢进球门。到目前为止,当婴儿通过 move(-300) 触摸球时,我已经设法让球进入球门;进入想要的位置,但从技术上讲,这并不是让婴儿将球击入球门,因为婴儿可以从任何方向击球,它会进入球门。

我只想知道正确的代码使用,我不需要知道确切的解决方案;我可以学习代码并自己解决,但我真的不知道从哪里开始。我在这种特殊类型的语言上遇到了很多困难,所以我最后的手段是在线提问。

感谢您的帮助,请评论任何其他信息。

import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Write a description of class ball here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class ball  extends Actor
{
    /**
     * Act - do whatever the ball wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    public void act() 
    {
        playerHitIt();
    }   

    public void playerHitIt()
    {
        Actor player;
        player=getOneObjectAtOffset(0,0,player.class);
        if (player !=null)
        {
            setLocation(getX()-4, getY());

        }
    }
}
4

1 回答 1

0

你可以从问什么是 a 开始Ball。它可能不应该act()* 并且playerHitIt()至少不符合它被击中的方式。它可能有一个表示位置的字段,可能还有一个速度。如果您查阅ActorAPI,您会看到由于扩展,球具有内置功能,可以做您想做的所有事情Actor。这个和其他 greenfoot 文档是开始的地方。当然,玩家正在或正在Actor用自己的方向控制一个物体,当它们相交时就会发生踢球。

  • 只提供一个空的实现act(){}
于 2014-01-05T05:23:20.163 回答