图像可以缩放(拉伸或压缩)、垂直或水平翻转,以及旋转。    

1、缩放:可以调用

public void scale(int width,

                        int height)

方法缩放本图片至一个新的尺寸。该方法需要两个整数作为参数,分别用来表示图像缩放后的宽度和高度。调用该方法后图像就会被拉伸(或压缩)到指 定的尺寸,可以使用这个方法实现角色的大小变化等动画效果。我们还是再之前蜜蜂的角色代码里添加代码。

例如:image.scale(30,30);

2、翻转:若要得到图像的镜像,可以使用mirrorVertically()或mirrorHorizontally()方法中的一个,它们分别对图像进行垂直翻转和水平翻转操作。这两个方法不需 要参数,在调用后会沿着恰当的中心线翻转图像。

例如:image.mirrorHorizontally();//水平翻转

3、旋转:还可以使用rotate()方法旋转图像,它需要传入角度数值作为旋转参数。 需要注意的是,如果参数不是 90 度的倍数,那么图像边角的部分就会被切掉, 而图像仍然会有水平和垂直边缘。

例如:image.rotate(80);//绕图像中心旋转指定角度

事实上,调用游戏角色对象的setRotation()方法,也是需要一个参数,rotation - 旋转角的度数,取值范围在(0~359)之间。0°表示朝向东面(世界的右手侧),角度沿顺时针方向增大。这样产生的转动效果通常更加完美,因为它是在一个不同的角度合理显示图像,而不是改变图像本身。此外,角色对象的setRotation()方法可以用来定义对象的移动方向,而GreenfootImage对象的rotate()方法只能用指定的角度值旋转图像,而不会改变角度值。

例如:this.setRotation(80);//设置本对象的旋转角度

rotate()与setRotation()的区别如图所示。

Greenfoot 的基本功能和使用方法之图像的缩放,旋转和翻转

程序截图如下,为了看到明显的效果,建议每次执行一个操作:

Greenfoot 的基本功能和使用方法之图像的缩放,旋转和翻转