首页
网页制作
网络编程
脚本专栏
数据库
网站运营
网络安全
平面设计
CMS教程
搜索
建站极客
媒体动画
Flash教程
正文
Flash AS教程:复制粘贴类
所属分类:
媒体动画
/
Flash教程
阅读数: 1175
收藏 0
赞 0
分享
源码下载:
flash_copy.rar
主要代码
:
//定义公共函数。。。
class ClipBoard extends Object {
static var $contents:Object;
static var $operation:String;
function ClipBoard() {
}
//定义当选择剪切时的效果。。。
public static function cut(obj) {
obj._alpha = 50;
$contents = obj;
$operation = "cut";
}
//定义复制函数。。。
public static function copy(obj) {
$contents = obj;
$operation = "copy";
}
//定义删除函数。。。
public static function remove(obj) {
$contents = obj;
$operation = "remove";
$contents.removeMovieClip();
}
//定义顺时针旋转。。。
public static function rotation(obj) {
$contents = obj;
$operation = "rotation";
$contents._rotation = 45;
}
//定义逆时针旋转。。。
public static function rotation2(obj) {
$contents = obj;
$operation = "rotation2";
$contents._rotation -= 45;
}
//定义移动。。。
private static var xm:Number;
private static var ym:Number;
public static function movethis(obj) {
$contents = obj;
$operation = "movethis";
_root.onMouseDown = function() {
xm = _xmouse;
ym = _ymouse;
movethisit();
};
function movethisit() {
_root.onEnterFrame = function() {
$contents._x = (xm-$contents._x)/5;
$contents._y = (ym-$contents._y)/5;
if (Math.abs($contents._x-xm)<0.5) {
_root.onEnterFrame = undefined;
}
};
}
}
//定义刷新。。。
public static function refish() {
getURL("javascript:location.reload()");
}
//定义粘贴功能。。。
public static function paste() {
if ($operation == "cut") {
$contents._x = _root._xmouse;
$contents._y = _root._ymouse;
$contents._alpha = 100;
$contents = undefined;
$operation = "";
} else if ($operation == "copy") {
var newdepth = $contents._parent.getNextHighestDepth();
var newname = $contents._name newdepth;
$contents.duplicateMovieClip(newname, newdepth);
$contents._parent[newname]._x = _root._xmouse;
$contents._parent[newname]._y = _root._ymouse;
$contents._alpha = 100;
$contents._parent[newname]._alpha = 100;
} else if ($operation == "remove") {
var newdepth = $contents._parent.getNextHighestDepth();
var newname = $contents._name newdepth;
$contents.removeMovieClip("");
} else {
return;
}
}
public function isEmpty():Boolean {
if ($contents != undefined) {
return false;
} else {
return true;
}
}
public function handleMenuCommand(obj, item):Void {
switch (item.caption) {
case "剪切__X" :
cut(obj);
break;
case "复制__C" :
copy(obj);
break;
case "粘贴__P" :
paste();
break;
case "删除__D" :
remove(obj);
break;
case "刷新_F5" :
refish();
break;
case "往右旋转" :
rotation(obj);
break;
case "往左旋转" :
rotation2(obj);
break;
case "移动此球" :
movethis(obj);
break;
}
}
}
定义右键菜单
:
_global.$clipboard = new ClipBoard();
function menuCallback(obj, menuObj) {
var empty:Boolean = _global.$clipboard.isEmpty();
menuObj.customItems = [];
// 如果对象为影片剪辑,而不是 _root
if ((obj instanceof MovieClip) && (obj != _level0)) {
menuObj.customItems.push(cutItem);
menuObj.customItems.push(copyItem);
menuObj.customItems.push(remove);
menuObj.customItems.push(refish);
menuObj.customItems.push(rotation);
menuObj.customItems.push(rotation2);
menuObj.customItems.push(movethis);
if (!empty) {
menuObj.customItems.push(pasteItem);
menuObj.customItems.push(refish);
}
} else if (obj == _level0 && !empty) {
menuObj.customItems.push(pasteItem);
menuObj.customItems.push(refish);
}
}
var myMenu = new ContextMenu(menuCallback);
myMenu.hideBuiltInItems();
var cutItem = new ContextMenuItem("剪切__X", _global.$clipboard.handleMenuCommand);
var copyItem = new ContextMenuItem("复制__C", _global.$clipboard.handleMenuCommand);
var pasteItem = new ContextMenuItem("粘贴__P", _global.$clipboard.handleMenuCommand);
var remove = new ContextMenuItem("删除__D", _global.$clipboard.handleMenuCommand);
var refish = new ContextMenuItem("刷新_F5", _global.$clipboard.handleMenuCommand);
var rotation = new ContextMenuItem("往右旋转", _global.$clipboard.handleMenuCommand);
var rotation2 = new ContextMenuItem("往左旋转", _global.$clipboard.handleMenuCommand);
var movethis = new ContextMenuItem("移动此球", _global.$clipboard.handleMenuCommand);
MovieClip.prototype.menu = myMenu;
this.menu = myMenu;
stop();
使用方法很简单,直接将制作好的MC拖入场景,然后在MC中加入如下代码:
on (release) {
stopDrag();
//结束行为
}
on (press) {
startDrag(this);
//结束行为
mx.behaviors.DepthControl.bringToFront(this);
//结束行为
}
注意下载的“ClipBoard.as”类文件,要放在SWF同级目录下。。。
更多精彩内容
其他人还在看
Flash元素必须用外部的脚本创建
一直以来都是用swfobject库创建flash。尽管它兼容性比较好,但几百行的代码实在有点累赘,毕竟一个flash元素只需几行HTML就可以创建了。
评论 0
收藏 0
赞 0
分享
一些AS3中常用到的公式小结
一些AS3中常用到的公式小结,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
Flash橡皮擦工具的使用方法(图文教程)
本文详情讲解了FLASH中如何使用橡皮擦工具
评论 0
收藏 0
赞 0
分享
Flash套索工具的使用方法(图文教程)
本文详细介绍了套索工具的使用方法.在做FLASH中比较常用的工具
评论 0
收藏 0
赞 0
分享
Flash任意变形工具的使用方法(图文教程)
变形工具也是比较常用的一个工具,下面详解一下
评论 0
收藏 0
赞 0
分享
Flash刷子工具的使用方法(图文教程)
刷子工具的使用也比较重要的.下面给大家讲一下
评论 0
收藏 0
赞 0
分享
Flash填充变形工具的使用方法(图文教程)
填充变形在做动画时也比较重要.
评论 0
收藏 0
赞 0
分享
Flash椭圆工具的使用方法(图文教程)
在FLASH中如何画一个圆形或椭圆形呢.下面介绍一下
评论 0
收藏 0
赞 0
分享
Flash文本工具的使用方法(图文教程)
所谓文本工具,就是文字的工具,在做动画的时候需要打字就用到这个工具了
评论 0
收藏 0
赞 0
分享
flash引导线的详细使用教程
本教程为大家介绍flash中的引导线。
评论 0
收藏 0
赞 0
分享
查看更多
网络赚钱
更多
漂洋过海坑死你 海淘代购名为国际大牌实为国产的山寨货
没钱不懂技术的屌丝草根站长该怎么通过网络赚钱
网络赚钱靠骗吗?
光大银行网上银行西联汇款收汇方法分享
网赚如何避免上当受骗?网赚骗子如何防?
Google Adsense西联汇款领取方式与流程,亲身实践
站长故事
更多
木屋烧烤创始人自述:屌丝的逆袭开餐饮店 连锁餐饮成功的五个因素
其实并非所有草根站长都能驯服社区门户这匹马
年轻站长的苦逼SEO路:虽难却依旧顽强的坚持着
比较适合个人站长的5种类型网站:定位 坚持 收益
如何利用百度贴吧做网络营销
十年了!一个依靠设计师们热情支撑起的网站