谈谈graphics.translate
最近想用java做一个支持自定义图片的拼图游戏,在搜索相关的方法的过程中,看到了一个api:graphics.translate,因为没有接触过,所以想深入了解一下。
查了一下API(暂时还是用中文版的API,翻译得不咋的),对这个方法的定义为:
translate
public void translate(int dx,int dy)
注:Event 类已废弃,只可用于向后兼容。它已经由 AWTEvent 类和其子类所取代。
转换此事件,使其 x 和 y 坐标分别以 dx 和 dy 递增。
此方法转换与给定组件相关的事件。这至少涉及到将坐标转换成给定组件的本地坐标系。它还可能涉及到在公开事件中转换一个区域
参数:
dx - 要转换 x 坐标的距离。
dy - 要转换 y 坐标的距离。
其实就是让当前区域的坐标系以dx和dy为原点,从dx、dy开始递增。
例如:
要把一个图像在一个区域显示,图像的左上角位于(x,y)这点,则代码为:
g.drawImage(img,x,y,0);
而用translate方法则为:
g.translate(x,y);
g.drawImage(img,0,0,0);
当然,暂时好像还没有发现这个方法在拼图游戏中的作用,待深入研究后再修改。