呃 竟然没有ActionScript 我来一发
这段代码的作用是将多张位图变成有点类似Flash中的影片剪辑。package util
{
import flash.display.Sprite;
import flash.utils.setInterval;
import flash.utils.clearInterval;
/**
* 创建影片剪辑
* @author zms
*/
public class MC extends Sprite
{
private var _playId:int;
private var _playNum:Number;
private var _array:Array = new Array();
private var _spriteArray:Array = new Array();
public function MC(_arr:Array) //数组的length就是影片的帧数
{
//实例化
_array = new Array();
_spriteArray = new Array();
_playId = 0;
this._array = _arr;
for (var _i:uint = 0; _i < this._array.length; _i++) {
_spriteArray = new Sprite();//创建
addChild(_spriteArray);
_spriteArray.addChild(_array);
if (_i > 0) {
_spriteArray.visible = false;
}
}
}
public function play(_t:uint = 550):void {
_playNum = setInterval(myPlay, _t);
}
public function stop() {
clearInterval(_playNum);
}
public function gotoAndStop(_n:uint) :void{
clearInterval(_playNum);
for (var _i:int = 0; _i < _spriteArray.length ; _i++) {
_spriteArray.visible = false;
}
_spriteArray.visible = true;
}
public function gotoAndPlay(_n:uint,_t:uint = 550) :void{
clearInterval(_playNum);
_playId = _n - 1;
myGotoPlay();
_playNum = setInterval(myGotoPlay, _t);
}
private function myPlay():void {
for (var _i:uint = 0; _i < _spriteArray.length ; _i++) {
_spriteArray.visible = false;
}
_spriteArray.visible = true;
_playId++;
if (_playId >= _spriteArray.length) {
_playId = 0;
}
}
private function myGotoPlay():void {
for (var _i:int = 0; _i < _spriteArray.length; _i++) {
_spriteArray.visible = false;
}
_spriteArray.visible = true;
_playId++;
if (_playId >= _spriteArray.length){
_playId = 0;
}
}
}
}
汗 没人回 自己坐沙发 有机会试一下 淡淡滋味 发表于 2013-1-9 10:51 static/image/common/back.gif
有机会试一下
:90:也不知道什么用没有弄完了 我都没用过 哈哈就是当时想到了试一下 zms198983 发表于 2013-1-9 10:52 static/image/common/back.gif
也不知道什么用没有弄完了 我都没用过 哈哈就是当时想到了试一下 ...
楼主要保持写代码的习惯啊,一放下手就生了。。 淡淡滋味 发表于 2013-1-9 10:56 static/image/common/back.gif
楼主要保持写代码的习惯啊,一放下手就生了。。
想不写也没办法呀 从事IT的 zms198983 发表于 2013-1-9 13:08 static/image/common/back.gif
想不写也没办法呀 从事IT的
呵呵~~
页:
[1]