greenfoot
Class Greenfoot

java.lang.Object
  extended by greenfoot.Greenfoot

public class Greenfoot
extends java.lang.Object

这个工具类提供了一些控制游戏模拟和与Greenfoot系统互动的方法。

键名

这个类包含了一些获取和响应键盘输入的方法。getKey()会返回下列范围内的键名,isKeyDown()方法则需要它们作为参数传入。

版本:
2.4
作者:
Davin McCall
译者:
Eric Pan(Upupzealot)

翻译有误请联系:hzxjhspxn@163.com


Method Summary
static void delay(int time)
          将当前的逻辑执行延后一定数量的时间步。
static java.lang.String getKey()
          获得这个方法上一次被调用后,被按下的最后一个键。
static int getMicLevel()
          获得麦克风的输入音量。
static MouseInfo getMouseInfo()
          返回一个含有当前鼠标状态信息的MouseInfo对象。
static int getRandomNumber(int limit)
          随机返回一个0(包含)到limit值(不包含)之间的整数。
static boolean isKeyDown(java.lang.String keyName)
          检测当前状态下,指定的按键是否有被按下。
static boolean mouseClicked(java.lang.Object obj)
          若鼠标在指定的对象之上被点击,则返回true。
static boolean mouseDragEnded(java.lang.Object obj)
          若鼠标对指定的对象拖动完毕,则返回true。
static boolean mouseDragged(java.lang.Object obj)
          若鼠标正在拖动指定的对象,则返回true。
static boolean mouseMoved(java.lang.Object obj)
          若鼠标在指定的对象之上移动,则返回true。
static boolean mousePressed(java.lang.Object obj)
          若鼠标在指定的对象之上被按下,则返回true。
static void playSound(java.lang.String soundFile)
          播放一个声音文件。
static void setSpeed(int speed)
          设置游戏模拟的运行速度。
static void setWorld(World world)
          将游戏模拟的场景设定为指定的World对象。
static void start()
          开始(或恢复)运行。
static void stop()
          暂停运行。
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

setWorld

public static void setWorld(World world)
将游戏模拟的场景设定为指定的World对象。该对象将从下一个act循环开始被在Greenfoot系统中运行。

参数:
world - 切换至运行的World类对象,不可传入null。

getKey

public static java.lang.String getKey()
获得这个方法上一次被调用后,被按下的最后一个键。如果在此期间没有按键被按下,则返回null。如果有在此期间有不止一个键被按下,只返回最后被按下的那个键。

返回:
最近一个按键事件对应的键名。

isKeyDown

public static boolean isKeyDown(java.lang.String keyName)
检测当前状态下,指定的按键是否有被按下。

参数:
keyName - 按键的键名
Returns:
如果确实被按下,则返回true;否则,返回false。

delay

public static void delay(int time)
将当前的逻辑执行延后一定数量的时间步。时间步的长短由Greenfoot运行环境(Speed滑条)决定。

参见:
setSpeed(int)

setSpeed

public static void setSpeed(int speed)
设置游戏模拟的运行速度。

参数:
speed - 新的运行速度。必须在(1...100)之间取值。

stop

public static void stop()
暂停运行。


start

public static void start()
开始(或恢复)运行。


getRandomNumber

public static int getRandomNumber(int limit)
随机返回一个0(包含)到limit值(不包含)之间的整数。


playSound

public static void playSound(java.lang.String soundFile)
播放一个声音文件。支持AIFF、AU和WAV格式。

传入的文件名参数可以是一个指向声音文件的绝对路径,一个基于工程目录或工程目录下sounds目录的相对路径。

参数:
soundFile - 通常为工程目录下sounds目录中的某声音文件的文件名。
抛出:
java.lang.IllegalArgumentException - 若该声音文件无法被加载。

mousePressed

public static boolean mousePressed(java.lang.Object obj)
若鼠标在指定的对象之上被按下(从未被按住到被按住),则返回true。

若传入的参数是一个Actor类对象,本方法只会当鼠标在该物体上被按下时才会返回true。若有多个Actor类对象覆盖同一位置,则认为只有显示在最上方的Actor类对象会接收到按下事件。 若传入的参数是一个World类对象, 则当鼠标直接在该World背景上被按下时返回true。若传入的参数是null,则本方法会在任何的鼠标按下事件发生时返回true,无论按下事件发生时鼠标正位于什么对象的上方。

参数:
obj - 通常是一个Actore、WorldTypically或者null
返回:
若鼠标确实按上述方式被按下,则返回true。

mouseClicked

public static boolean mouseClicked(java.lang.Object obj)
若鼠标在指定的对象之上被点击(按住然后松开),则返回true。

若传入的参数是一个Actor类对象,本方法只会当鼠标在该物体上被点击时才会返回true。若有多个Actor类对象覆盖同一位置,则认为只有显示在最上方的Actor类对象会接收到按下事件。 若传入的参数是一个World类对象, 则当鼠标直接在该World背景上被点击时返回true。若传入的参数是null,则本方法会在任何的鼠标点击事件发生时返回true,无论点击事件发生时鼠标正位于什么对象的上方。

参数:
obj - 通常是一个Actore、WorldTypically或者null
返回:
若鼠标确实按上述方式被点击,则返回true。

mouseDragged

public static boolean mouseDragged(java.lang.Object obj)
若鼠标正在拖动指定的对象,则返回true。若鼠标拖动事件起始于某对象之上,则认为鼠标一直处于拖动该物体的状态,即使在拖动过程中鼠标已经移出了该物体的边界也是如此。

若传入的参数是一个Actor类对象,本方法只会当鼠标拖动起始于该物体之上时才会返回true。若有多个Actor类对象覆盖同一位置,则认为只有显示在最上方的Actor类对象会接收到拖动事件。 若传入的参数是一个World类对象, 则当鼠标拖动直接起始于该World背景上时返回true。若传入的参数是null,则本方法会在任何的鼠标拖动事件发生时返回true,无论鼠标拖动事件发生时鼠标正位于什么对象的上方。

参数:
obj - 通常是一个Actore、WorldTypically或者null
返回:
若鼠标确实按上述方式被拖动,则返回true。

mouseDragEnded

public static boolean mouseDragEnded(java.lang.Object obj)
若鼠标对指定的对象拖动完毕(拖动发生后松开按键),则返回true。

若传入的参数是一个Actor类对象,本方法只有在对应的鼠标拖动事件起始于指定对象之上时,才会返回true。若有多个Actor类对象覆盖同一位置,则认为只有显示在最上方的Actor类对象会接收到拖动事件。 若传入的参数是一个World类对象, 则当对应的鼠标拖动事件直接起始于该World背景上时,返回true。若传入的参数是null,则本方法会在任何的鼠标拖动结束事件发生时返回true,无论拖动事件发生时鼠标正位于什么对象的上方。

参数:
obj - 通常是一个Actore、WorldTypically或者null
返回:
若鼠标确实按上述方式结束拖动,则返回true。

mouseMoved

public static boolean mouseMoved(java.lang.Object obj)
若鼠标在指定的对象之上移动,则返回true。当鼠标位置的位于指定对象之上,且坐标改变时,才会认为鼠标在该物体之上移动。

若传入的参数是一个Actor类对象,本方法只会当鼠标在该物体上移动时才会返回true。若有多个Actor类对象覆盖同一位置,则认为只有显示在最上方的Actor类对象会接收移动事件。 若传入的参数是一个World类对象, 则当鼠标直接在该World背景上移动时返回true。若传入的参数是null,则本方法会在任何的鼠标移动事件发生时返回true,无论移动事件发生时鼠标正位于什么对象的上方。

参数:
obj - 通常是一个Actore、WorldTypically或者null
返回:
若鼠标确实按上述方式移动,则返回true。

getMouseInfo

public static MouseInfo getMouseInfo()
返回一个含有当前鼠标状态信息的MouseInfo对象。

返回:
返回鼠标的状态信息,若鼠标位于世界框架之外(拖动情况除外),则返回null。

getMicLevel

public static int getMicLevel()
获得麦克风的输入音量。该音量是麦克风所接收到的所有声音信号的一个综合近似。

返回:
麦克风的输入音量(取值在0到100之间,含0和100)


Greenfoot homepage