您的位置:首页媒体动画Director → Director8制作模拟刮胡子演示程序(三)

Director8制作模拟刮胡子演示程序(三)

时间:2004/10/15 1:09:00来源:本站整理作者:蓝点我要评论(0)

   以本程序为例子,我们的目的: 程序记录鼠标移动的轨迹,从鼠标滑动的点为左上角开始,记录一个虚拟的矩形区域,将这个矩形坐标(相对与该图形左上角为原点)记录下来。然后通过targetimage (就是我们这个程序的角色 "target "-未刮胡子的照片图案)调用 copyPixels 函数将 sourceimage (就是我们这个程序的角色 "source "-刮胡子后的照片图案)中鼠标滑动矩形区域的图形复制到相应的 targetimage 中,记住我们对 targetimage 角色的改动直接改动了 target 角色,所以我们必须有另外一个角色,它和 target 角色完全相同,但是名字不同,为的是在需要的时候恢复 target 角色的原貌。所以我们从新复制一下 target 角色,放在第 3 号角色,起名字为 "s"。下面会讲解为什么这样作。

现在开始制作:
1: 在第一帧的帧脚本 frame script 中写上
on exitframe me
 go the frame
end
目的是让播放停止在这个帧上。让 director 等待响应鼠标事件。

  将 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

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 云顶之弈6骑士双龙3法 Director 8.5 简单基础实例教程-着墨方式Director怎样制作自定义光标director动画技术教程DIRECTOR去背技法步步高

人气排行 Director 8.5 基础实例教程-使用四个不同的如何用3D Max打造“真实”的地球云顶之弈6骑士双龙3法师阵容 6骑士双龙3法师Lingo魔法书--视频控制Lingo魔法书--Lingo 语言基础Lingo魔法书--go来go去在Director中应用Flash——基础篇Lingo魔法书--变量,字符串和文本域