1.如何全屏播放
fscommand("fullscreen", true);
2.如何屏蔽鼠标右键,注意第一种方法在flash调试的时候无效
(1)
fscommand("showmenu", false);
(2)
(3)
运用ContextMenu类的hideBuiltInItems方法.它可以设定屏蔽右键的同时,还允许设置,显示右键菜单的其中几个内置菜单.如下
var mymenu:ContextMenu = new ContextMenu();
mymenu.hideBuiltInItems();
mymenu.builtInItems.print = true;
this.menu = mymenu;
3.自定义右键菜单
//定义鼠标右键对象
var myContextMenu:ContextMenu = new ContextMenu();
//隐藏右键内置选项
myContextMenu.hideBuiltInItems();
//创建一个自定义选项
clingingboy = new ContextMenuItem("关于Clingingboy", boy);
//添加自定义选项
myContextMenu.customItems.push(clingingboy);
//定义自定义选项函数事件
function boy() {
getURL("http://www.clingingboy.com", "_blank");
}
//指定ContextMenu与主场景关联
_root.menu = myContextMenu;
4.声明变量和对象类型的技巧(1)使用var关键字,然后指定类型,这是比较严格的
//声明变量类型
var i:Number = 0;
//声明对象类型
var mydate:Date;
(2)使用脚本编译器可以识别的名称
如把MC的实例名称取名为
test_mc,动态文本实例名称取名为
test_txt,这样的取名的好处在编译器里会出现代码提示
5.动态文本变量使用技巧有时候需要把一个动态文本放在MC里面,比如放在test_mc里面,动态文本变量取名为test_txt,那么给在主场景上给变量赋值就是
test_mc.test_txt=".....",这样比较麻烦,而且有时候需要把变量名跟别的变量同步,可以把这样设置变量
,_root.test_txt,给变量赋值就不需要加MC了,可以直接赋值.而且允许多个动态文本使用同一个变量名称.主要是弄清楚级别的关系
6.层次的关系_root 表示根,主场景的意思,比如主场景有个test_mc,给MC编写代码的时候可以写成_root.test_mc._x=100效果跟test_mc._x=100是一样的
_parent 对父级对象的引用,比如主场景有个test1_mc和test2_mc,进入test2_mc,在第一帧写
_parent.test1_mc._x=100效果跟在主场景上写
test1_mc._x=100是一样的.
this 引用对象或影片剪辑实例
7.编写按钮事件的方法(影片剪辑同理)
(1)在按钮的帧上写(不推荐)
on (release) {
trace("test");
}
(2)写在主场景的第一帧上.都写在第一帧的话,以后找代码也方便.
test_btn.onRelease = function() {
trace("test");
};
8.循环调用事件处理函数(根据帧频),通俗点的意思就是不停的做某件事情.
test_mc.onEnterFrame = function() {
this._x += 5;
};
/*
onEnterFrame=function()
{
test_mc._x+=5
}
*/
9.使循环调用事件处理函更加的流畅((可不根据帧频)
(1)使用setInterval()函数
(2)使用updateAfterEvent 函数
10.使用注释语句注释单行"//"
注释多行"/*....*/"
11.载入外部文件
loadMovie("xxx.jpg",test_mc)
loadMovieNum("xxx.jpg",10)
第一种载入到MC中,主要控制MC属性
第二种注意控制深度
12.控制载入文件的属性如果MC为空MC的话,只能控制其_x,_y,_alpha等属性,而不能控制其_width等属性,所以需要设置_width等属性,可以在MC里面画一个矩形,就是说,必须不能为空MC,而且最好不得在场景上手动控制MC属性,不然会没有效果.
一般MC默认的注册点为左上角,如不需要注册点的设置的话,可以直接载入MC中
//载入到影片剪辑中
loadMovie("http://www.clingingboy.com/uploads/200601/17_233507_snap1.jpg", test_mc);
test_mc._x = 0;
test_mc._y = 0;
test_mc._alpha = 50;
有时候需要控制注册点,如控制test_mc很难控制,有一个技巧,就是在test_mc里创建一个MC,将外部文件载入到test_mc内部的MC里去.这样就和容易的控制注册点了.因为这个有时候比较重要,特别是定位.很多因为主册点的原因.有兴趣的可以下载过去测试
13.简单的动态创建MC和文本
_root.createEmptyMovieClip("test_mc", 1);
_root.createTextField("my_txt", 2, 100, 100, 100, 100);
14.交换深度
myMC1_mc.onRelease = function() {
this.swapDepths(myMC2_mc);
};
myMC2_mc.onRelease = function() {
this.swapDepths(myMC1_mc);
};
15.使用for语句完成重复事件,这个很好用,不管是不是在AS编程里
(1)
test_mc._visible = 0;
for (i=0; i<6; i++) {
duplicateMovieClip("test_mc", "test_mc"+i, i);
this["test_mc"+i]._x = 100*i+50;
}
(2)或者在场景上把按钮命名为my_btn1,my_btn2....
for (i=0; i<6; i++) {
this["my_btn"+i].onRelease = function() {
trace("你点击了第"+i+"个按钮");
};
}
16.控制对象属性的方法(比较老的不算)
(1)最简单的是直接使用点语法
test_mc._x=0
(2)使用with语句
with (test_mc) {
_x = 0;
}
}
(3)使用中括号
this["test_mc"]._x = 400;
(4)使用eval函数
test_mc._visible = 0;
for (i=0; i<6; i++) {
duplicateMovieClip("test_mc", "test_mc"+i, i);
test = eval("test_mc"+i);
test._x = 100*i+50;
}
17.熟悉脚本编译器的
语法检查,自动套用格式,显示代码提示,有事没事就多点点这三个按钮
18.给flash加物理效果(1)不需要你知道什么知识,直接套用Tween类,其他效果可以去看专门讲解它的文章
test_mc.onRollOver = function() {
new mx.transitions.Tween(this, "_xscale", mx.transitions.easing.Elastic.easeOut, this._xscale, 180, 30);
new mx.transitions.Tween(this, "_yscale", mx.transitions.easing.Elastic.easeOut, this._yscale, 180, 30);
};
test_mc.onRollOut = function() {
new mx.transitions.Tween(this, "_xscale", mx.transitions.easing.Elastic.easeOut, this._xscale, 100, 30);
new mx.transitions.Tween(this, "_yscale", mx.transitions.easing.Elastic.easeOut, this._yscale, 100, 30);
};
test_mc.onEnterFrame = function() {
test_mc._x += 5;
if (test_mc._x>400) {
test_mc._x = 0;
}
};
二.加速运动
i = 0.5;
speed = 0;
test_mc.onEnterFrame = function() {
speed += i;
test_mc._x += speed;
if (test_mc._x>400) {
test_mc._x = 0;
}
if (speed>50) {
speed = 0;
}
};
三.简谐运动
test_mc._x = 100;
speed = 0;
test_mc.onEnterFrame = function() {
speed += (200-test_mc._x)*.05;
test_mc._x += speed;
};
四.摩差运动的缓冲
test_mc.onEnterFrame = function() {
test_mc._x += (300-test_mc._x)*.08;
};
五.阻尼运动
xr = 100;
dir = 1;
ang = 0;
damp = 1;
test_mc._x = 0;
test_mc.onEnterFrame = function() {
test_mc._x += Math.sin(ang)*xr*dir*damp;
damp *= 0.95;
ang += 0.5;
};