您现在的位置: 圆点视线 >> 教程 >> 媒体动画 >> Director >> 文章正文
Director8制作模拟刮胡子演示程序(三)         ★★★
Director8制作模拟刮胡子演示程序(三)
作者:佚名  文章来源:不详  点击数:  更新时间:2005-8-21 17:39:38 
 页面功能:【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口 【字体:
 以本程序为例子,我们的目的: 程序记录鼠标移动的轨迹,从鼠标滑动的点为左上角开始,记录一个虚拟的矩形区域,将这个矩形坐标(相对与该图形左上角为原点)记录下来。然后通过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
 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 文章录入:apoints    责任编辑:apoints  【字体:
 
  • 上一篇文章:

  •  
  • 下一篇文章:
  • 最新文章
    相关文章
    Director怎样制作自定义光标
    用Director控制动画GIF
    director应用技巧
    flash和director之间的沟通技巧
    Director中控制声音音量的几种方法
    Director8行为库的应用
    用Director创建涂色板
    认识Director中的Xtra
    如何检测演员的载入进度
    对象列表的调用与删除
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
     姓  名: 评 分: 1分 2分 3分 4分 5分
     评论内容: ·严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
    ·用户需对自己在使用本网服务过程中的行为承担法律责任
    ·本站管理员有权保留或删除评论内容。
    ·评论内容只代表机友个人观点,与本网站立场无关。
     
    最 新 推 荐
     
    百度主题推广
    最 新 热 门