這篇教程主要向大家講解如何利用Flash AS3代碼打造絢爛的星形變幻效果,教程并沒有對每一個代碼做出講解,但也不是很難,分享到武林網,喜歡的朋友一起來學習吧!
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
[SWF(backgroundColor = "0x000000", frameRate = "60")]
public class Main extends Sprite
{
private var patternList:Array = new Array();
private var moveBullet:Array = new Array();
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
MouseDown(null);
addEventListener(Event.ENTER_FRAME, EnterFrame );
stage.addEventListener(MouseEvent.MOUSE_DOWN, MouseDown);
}
private function EnterFrame(event:Event):void
{
var i:int = 0;
for ( i = 0; i < patternList.length; i++ )
{
var bullet:Bullet = patternList[i].Run();
if ( bullet != null )
{
addChild( bullet );
}
}
for ( i = patternList.length - 1; i >= 0; i-- )
{
if ( patternList[i].isEnd() )
{
// 從待命到移動
for ( var j:int = 0; j < patternList[i].waitBullet.length; j++ )
{
patternList[i].waitBullet[j].StartSlide();
moveBullet.push( patternList[i].waitBullet[j] );
}
patternList.splice( i, 1 );
}
}
// 移動
if ( moveBullet.length > 0 )
{
for ( i = moveBullet.length - 1; i >= 0; i-- )
{
//
if ( moveBullet[i].slideFlag )
{
moveBullet[i]._xx += Math.cos( moveBullet[i].slideAngle * Math.PI / 180 ) * moveBullet[i].slideSpeed;
moveBullet[i]._xy += Math.sin( moveBullet[i].slideAngle * Math.PI / 180 ) * moveBullet[i].slideSpeed;
moveBullet[i].x = moveBullet[i]._xx;
moveBullet[i].y = moveBullet[i]._xy;
if ( moveBullet[i].slideSpeed > 0 )
{
moveBullet[i].slideSpeed -= moveBullet[i].slideSpeedMax / 50;
if ( moveBullet[i].slideSpeed < 0 ) moveBullet[i].slideFlag = false;
}
}else
{
moveBullet[i]._xx += Math.cos( moveBullet[i].moveAngle * Math.PI / 180 ) * 1;
moveBullet[i]._xy += Math.sin( moveBullet[i].moveAngle * Math.PI / 180 ) * 1;
moveBullet[i].x = moveBullet[i]._xx;
moveBullet[i].y = moveBullet[i]._xy;
if ( moveBullet[i].x < -50 || moveBullet[i].x > stage.stageWidth + 50 || moveBullet[i].y < -50 || moveBullet[i].y > stage.stageHeight + 50 )
{
removeChild( moveBullet[i] );
moveBullet.splice( i, 1 );
}
}
}
}
}
private function MouseDown(event:MouseEvent):void
{
// 小星
patternList.push( new Pattern(stage.stageWidth / 2, stage.stageHeight / 2, false, 50, 0xFF5555, (270 + 72 * 0), 3 ) );
patternList.push( new Pattern(stage.stageWidth / 2, stage.stageHeight / 2, false, 50, 0xFF5555, (270 + 72 * 1), 3 ) );
patternList.push( new Pattern(stage.stageWidth / 2, stage.stageHeight / 2, false, 50, 0xFF5555, (270 + 72 * 2), 3 ) );
patternList.push( new Pattern(stage.stageWidth / 2, stage.stageHeight / 2, false, 50, 0xFF5555, (270 + 72 * 3), 3 ) );
patternList.push( new Pattern(stage.stageWidth / 2, stage.stageHeight / 2, false, 50, 0xFF5555, (270 + 72 * 4), 3 ) );
// 大星
patternList.push( new Pattern(stage.stageWidth/2, stage.stageHeight/2, false, 100, 0x5555FF, (270 + 72 * 0), 5 ) );
patternList.push( new Pattern(stage.stageWidth/2, stage.stageHeight/2, false, 100, 0x5555FF, (270 + 72 * 1), 5 ) );
patternList.push( new Pattern(stage.stageWidth/2, stage.stageHeight/2, false, 100, 0x5555FF, (270 + 72 * 2), 5 ) );
patternList.push( new Pattern(stage.stageWidth/2, stage.stageHeight/2, false, 100, 0x5555FF, (270 + 72 * 3), 5 ) );
patternList.push( new Pattern(stage.stageWidth/2, stage.stageHeight/2, false, 100, 0x5555FF, (270 + 72 * 4), 5 ) );
}
}
}
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
import flash.display.Sprite;
import flash.geom.Point;
//-----------------------------
// 圖案類
class Pattern {
private var reverse:Boolean = false;
private var starSize:Number = 150;
private var bulletColor:uint = 0x000000;
private var slideAngle:Number = 0;
private var slideSpeed:Number = 0;
private var end:Boolean = false;
private var count:int = 0;
private var defX:int = 0;
private var defY:int = 0;
private var target:Array = new Array();
private static const PATH_OBJ_NUM:int = 20; // 子彈數
private static const TARGET_NUM:int = 5;
private static const TARGET_ANGLE:Array = [ 270 + 72 * 3, 270 + 72 * 1, 270 + 72 * 4, 270 + 72 * 2, 270 ]; // 通過的目標地點的角度
private static const TARGET_ANGLE2:Array = [ 270 + 72 * 2, 270 + 72 * 4, 270 + 72 * 1, 270 + 72 * 3, 270 ]; //
public var waitBullet:Array = new Array();
public function Pattern(
_gx:int = 0, _gy:int = 0,
_rev:Boolean = false,
_starSize:Number = 80,
_bulletColor:uint = 0x000000,
_slideAngle:Number = 0,
_slideSpeed:Number = 0
) {
count = 0;
defX = _gx;
defY = _gy;
reverse = _rev;
starSize = _starSize;
bulletColor = _bulletColor;
slideAngle = _slideAngle;
slideSpeed = _slideSpeed;
for ( var i:int = 0; i < 5; i++ )
{
var angle:Number = TARGET_ANGLE[i];
if ( reverse ) angle = TARGET_ANGLE2[i] + 180; // 反
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品露脸国产偷人在视频|
日韩大陆欧美高清视频区|
久久久精品在线|
欧美亚洲午夜视频在线观看|
欧美成人免费观看|
日韩欧美在线免费|
成人激情免费在线|
国内精品国产三级国产在线专|
国产香蕉97碰碰久久人人|
亚洲国产另类久久精品|
日韩国产欧美精品在线|
毛片精品免费在线观看|
欧美特黄级在线|
国产精品一区二区久久久久|
欧美巨猛xxxx猛交黑人97人|
国语自产精品视频在线看抢先版图片|
亚洲人成在线一二|
欧美日韩一区二区三区|
精品网站999www|
日韩免费黄色av|
一区二区三区无码高清视频|
亚洲激情在线视频|
成人精品久久av网站|
性欧美视频videos6一9|
亚洲男人天堂2024|
欧美在线一级va免费观看|
久久色在线播放|
久久久成人精品|
欧美亚洲成人免费|
国产精品电影一区|
欧美另类第一页|
久久69精品久久久久久国产越南|
久久精品成人动漫|
欧美一级高清免费播放|
91精品国产乱码久久久久久久久|
亚洲精品国产精品自产a区红杏吧|
国产日韩欧美夫妻视频在线观看|
日韩中文综合网|
成人黄色av播放免费|
一区二区三区四区在线观看视频|
亚洲欧美另类国产|
97在线免费观看视频|
668精品在线视频|
国产福利成人在线|
亚洲午夜久久久久久久|
国产精品av网站|
欧美在线免费看|
欧美日韩美女在线|
国产精品欧美激情在线播放|
97精品一区二区视频在线观看|
久久精品99国产精品酒店日本|
日韩在线视频免费观看高清中文|
亚洲欧洲免费视频|
国产视频亚洲视频|
亚洲欧美制服丝袜|
欧美猛交免费看|
69久久夜色精品国产69乱青草|
亚洲综合视频1区|
亚洲成人久久网|
亚洲一区二区久久久久久|
亚洲成人黄色在线|
性欧美视频videos6一9|
亚洲最大成人免费视频|
国产69精品久久久久久|
91青草视频久久|
精品国产91乱高清在线观看|
日韩欧美国产激情|
国产精品自产拍在线观看中文|
国产丝袜一区二区三区免费视频|
日本国产欧美一区二区三区|
欧美国产日韩xxxxx|
国产精品7m视频|
国产精品私拍pans大尺度在线|
国产精品亚洲一区二区三区|
国产精品高潮呻吟久久av无限|
成人动漫网站在线观看|
日韩激情视频在线播放|
粗暴蹂躏中文一区二区三区|
亚洲毛片在线看|
www.日本久久久久com.|
亚洲第一二三四五区|
亚洲第一区第一页|
亚洲免费伊人电影在线观看av|
久久综合色影院|
欧美在线一区二区三区四|
成人午夜小视频|
亚洲电影在线观看|
日韩**中文字幕毛片|
亚洲伊人久久大香线蕉av|
国产91网红主播在线观看|
国产精品国产三级国产专播精品人|
国产精品福利在线观看|
亚洲激情视频在线播放|
久久久亚洲国产天美传媒修理工|
国产精品爽爽爽|
精品在线观看国产|
大荫蒂欧美视频另类xxxx|
日韩电影中文字幕在线|
国产精品丝袜视频|
国产精品mp4|
青青在线视频一区二区三区|
欧美日韩免费区域视频在线观看|
亚洲精美色品网站|
欧美激情第6页|
国产在线不卡精品|
粗暴蹂躏中文一区二区三区|
26uuu久久噜噜噜噜|
精品国产一区二区三区久久狼黑人|
国产精品免费视频xxxx|
日韩在线视频网站|
国色天香2019中文字幕在线观看|
亚洲第一视频网站|
亚洲精品福利免费在线观看|
青青草原成人在线视频|
国产精品久久久久久久久影视|
精品亚洲一区二区三区四区五区|
2018中文字幕一区二区三区|
国产精品免费观看在线|
www.色综合|
美女999久久久精品视频|
亚洲电影免费观看高清完整版在线观看|
成人黄色免费在线观看|
国产精品视频久久久久|
日本精品一区二区三区在线播放视频|
国产一级揄自揄精品视频|
国产suv精品一区二区三区88区|
亚洲最新视频在线|
国内精品一区二区三区|
亚洲视频在线免费看|
亚洲夜晚福利在线观看|
久久亚洲影音av资源网|
日韩中文字幕精品视频|
精品亚洲一区二区三区四区五区|
欧美视频二区36p|
亚洲精品在线观看www|
久久在线视频在线|
亚洲日韩第一页|
日韩精品小视频|
国产精品美女无圣光视频|
国产suv精品一区二区|
国产国语刺激对白av不卡|
国产aⅴ夜夜欢一区二区三区|
好吊成人免视频|
亚洲电影成人av99爱色|
欧美激情在线观看|
精品毛片网大全|
中文字幕亚洲无线码在线一区|
久久国产精品偷|
成人欧美一区二区三区黑人|
亚洲va久久久噜噜噜|
欧美日韩国产一区中文午夜|
国产日本欧美一区|
日韩视频免费在线|
91久久精品美女|
国内精品久久久|
成人在线国产精品|
亚洲午夜色婷婷在线|
91成人天堂久久成人|
97精品视频在线|
精品高清一区二区三区|
91香蕉电影院|
日本不卡高字幕在线2019|
国外日韩电影在线观看|
亚洲成人久久电影|