分类分类
关注+2004-10-15作者:蓝点
将 target 角色拖动到 score 中的第一帧的 6号通道(可以是任何通道,但是最好不要用 1,2 号通道,因为你有可能将来在这些地方放置底图。所以尽量将变动的角色放在稍微高通道中。这是个人习惯的问题)。鼠标右键单击这个角色选中 script 打开该 sprite 的 sprite script 。
我们必须响应 exitfame 事件。
首先我们将定义一个属性(这是一个习惯性的写法)
就是在每个角色的 beginsprite 事件handle 中做初始化属性和某些全局变量的操作。
这部分代码是为了方便对大量 sprite(me.spritenum) 的调用而写的,其实在本程序中并不一定需要
property pMySprite
on beginsprite me
pMySprite = sprite(me.spritenum)
end
下面是真正的核心代码
通过在响应 exitframe handle 中处理 mouseDown 来复制位图,也就是当鼠标在图形上拖动的时候将鼠标滑过的位置的矩形小区域记录下来,然后从 source 角色中将相应矩形区域的位图部分复制到 target 角色部分相应的位图部分。
on exitframe me if (the stillDown) then - 当鼠标一直按下的时候,才开始复制 thisPoint = the mouseLoc - point(pMySprite.left, pMySprite.top) - 将记录鼠标相对与角色左上角为原点的坐标 top = thisPoint.locV left = thisPoint.locH sourceRect = rect (left, top, left + 10, top + 10) -- 定义一个虚拟的小矩形复制区域(从鼠标开始处计算),我们这里采用 10*10 的方块 member("target").image.copyPixels (member("source").image, sourceRect, sourceRect) -- 将从 "source" 角色中复制一个小块到 target 角色中相同坐标区域部分。 end if end |
相关文章
更多+相同厂商
热门推荐
点击查看更多
点击查看更多
点击查看更多
说两句网友评论