合肥卓想动画工作室 承接全国+flash动画制作 + flash动画设计 + 各类flash动画制作设计


联系方式

自定义圣诞树饰品,拖放或箭头移动按键

时间:2012-12-26 16:07来源:卓想空间http://www.zxgzs.com 作者:QQ:610929375 点击:


 

这个教训是类似的一系列的经验教训建立一个雪人拖-和-下降部分 ,你可以添加和删除的意愿(及其实,那是在那里我snitched的树从,而在下降雪来从另一个教训 ) 。 不过,这一次,我们将添加新的深度层次的互动,不仅用户就可以单击并拖动装饰品装饰圣诞树用鼠标,他们也将能够引导使用箭头键选择的饰品在标准键盘上,以轻推他们逼到了正确的位置。
我们将使用一些新的东西:Key.isDown,一个函数,检查是否一个键被按下。 当串联使用的一个如果声明和其他Key.parameter功能,它可以用来确定运动的基础上按键。
创建基本场景,包括树木后,下一步是绘制在舞台上的装饰品,并将其转换为影片剪辑符号(F8)。 因为他们会从它们的起始位置直接拖拽树,确保他们的树的大小缩放到合适的比例。
分配到每一个装饰你创建一个实例名称。 即使您使用的重复,让你的用户把一个以上的单一类型的装饰在树上,确保给每一个唯一的实例名称。 我们将调用这些从我们的动作脚本,如果任何共享相同的名称,它会导致轻微的可用性问题。现在选择第一个装饰品,用鼠标右键单击它打开“ 动作 ”面板。 我们要做的第一件事是添加鼠标交互,使用户可以拖动和下降到树的装饰品。这里所使用的脚本是完全一样的雪人动画的各个部分用于作为脚本:
 (新闻)
 this.startDrag();
 }
 (释放){
 this.stopDrag();
 }
简单地说,当用户点击鼠标左键(或唯一的鼠标按钮,在Mac上),并持有,装饰品点击跟随鼠标运动。 当他们释放鼠标按钮,装饰品停止跟随鼠标移动,并保持下降了。
你可以复制粘贴拖和下降的ActionScript动作的饰物,甚至将其保存在外部文件中引用它,一个包括 。
一旦你完成的饰物,在舞台上创建一个新的影片剪辑元件,要么它这么小,这是不可能看到的,没有轮廓,就像一个无形的热点按钮,设置填充为0%,不透明度。
这种无形的符号将是我们的控制器的按键,将移动的饰物。 我们不能指定动作脚本的饰品本身没有过于复杂的事情(相信我,我试过了,在这个过程中,撕毁有点发)。 闪光灯迷糊,要么一切都在移动或移动相同的装饰品每次不管您选择的装饰。 因为我们使用的是相同的密钥来控制所有的饰物,但我们只需要一次移动一个装饰,我们需要使用一个外部符号控制运动的装饰目前被认为是“积极的”。
无形的遥控器上按一下滑鼠右键,并选择“打开”动作“面板,剪辑的动作 。
在接下来的步骤中,我们将使用onClipEvent事件处理程序,检查每个周期的单个帧(12帧),如果任何自定义键(UP,DOWN,LEFT,和右)按下。
onClipEvent事件(enterFrame事件){
 如果(Key.isDown(Key.UP)){
 _root.active._y = _root.active._y - 3;
 }
 如果(Key.isDown(Key.DOWN)){
 _root.active._y = _root.active._y + 3;
 }
 如果(Key.isDown(Key.LEFT)){
 _root.active._x = _root.active._x - 3;
 }
 如果(Key.isDown(Key.RIGHT)){
 _root.active._x = _root.active._x + 3;
 }
 }
 Key.isDown(***)检查,看是否在括号内指定的键,因为脚本可能表明,按/下。 它返回一个true或false值,但不会做任何事情,这就是我们需要的if语句 。 它的计算结果或不指定的键是否被按下,如果返回的值是真实的,那么它执行的功能,括号内。
每个键被定义为的Key.KEYNAME,而且每个键都有自己独特的名称(你可以在程序Flash的ActionScript参考的字符串和数字分配到每个键的完整列表)。 对于每一个if语句中,我们检查,看看其中的四个方向键被按下,然后调整的符号引用的_root.active相应的位置。
例如,如果返回的语句测试,看看向上箭头键被按下一个真实的,那么该脚本将减去三个像素从_root.active目前的y位置,水平移动3像素每次按下的关键。 测试的右箭头的状态如果该语句返回一个真实的,那么该脚本将增加3个像素的X位置,移动3个像素的权利与每一个新闻。
因此,什么_root.active?这是当前选择的装饰,作为一个要移动时,这些键被按下。 最后一步包括作为活性定义最近期点击装饰品1。
你需要做的最后一件事,是每一个装饰的脚本,并插入一个额外的行(释放)功能:
 _root.active = _root.redball();
更换我的redball1与您所选择的装饰的实例名称,然后用清水冲洗,重复你的装饰物及彼等各自的实例名称。 因为我们告诉无形控制器的脚本将被定义为任何装饰_root.active按下箭头键时,这条线将最近点击装饰品,_root.active时,释放鼠标按钮后,点击。

(责任编辑:卓想空间http://www.zxgzs.com)




上海 北京 深圳 广州 成都 杭州 重庆 武汉 苏州 烟台 兰州 无锡 南昌 贵阳 南宁 太原 石家庄 包头 呼和浩特 泉州 佛山 东莞 唐山 乌鲁木齐 福州 长沙 合肥 亳州 天津 南京 沈阳 西安 昆明 青岛 大连 宁波 济南 哈尔滨 长春 厦门 郑州 温州 淄博 海口 银川 西宁 南通 大庆 徐州 潍坊 常州 鄂尔多斯 绍兴 济宁 盐城 邯郸 临沂 洛阳 东营 扬州 台州 嘉兴 沧州 榆林 泰州 镇江 昆山 江阴 张家港 义乌 金华 保定 鞍山 泰安 宜昌 襄阳 中山 惠州 南阳 威海 德州 珠海 柳州 宿迁 芜湖 岳阳 菏泽 漳州 信阳 蚌埠 绵阳 株洲 邢台 桐城 桂林 衡阳 铜陵 三亚 阜阳 荆州 遵义 咸阳 驻马店 上饶 湛江 湘潭 汕头 莆田 滁州 廊坊

卓想动画http://www.zxgzs.com 版权所有