您的位置:首页 > 其它

Flash.ActionScript.3.0动画教程_code2

2010-12-03 17:33 615 查看
/******************************************************************************/

/** @file FlashExample1_8.as

@brief FlashExample1_8 class

@note Copyright (C) 2010 ThinkinGall. All rights reserved.

@author xuyeding

@date 2010/11/29

@version 1.00

*******************************************************************************/

package {

import flash.display.Bitmap;

import flash.display.GradientType;

import flash.display.Loader;

import flash.display.MovieClip;

import flash.display.StageAlign;

import flash.display.StageScaleMode;

import flash.events.*;

import flash.ui.Keyboard;

import flash.filters.BlurFilter;

import flash.geom.Matrix;

import flash.geom.Rectangle;

import flash.geom.ColorTransform;

import flash.net.URLRequest;

/**

* FlashExample1_8 class example

* @class FlashExample1_8

*/

public class FlashExample1_8 extends MovieClip {

private var x0:Number = 100;

private var y0:Number = 100;

private var x1:Number = 0;

private var y1:Number = 0;

private var x2:Number = 300;

private var y2:Number = 200;

private var fieldx:int = 0;

private var fieldy:int = 0;

private var targetx:int = 0;

private var targety:int = 0;

private var red:int = 0;

private var green:int =0;

private var blue:int = 0;

private var redTar:int = 0;

private var greenTar:int = 0;

private var blueTar:int = 0;

[Embed(source = "DC1.jpg")]

private var pic:Class;

/** ball instance */

private var ball:Ball = null;

private var arrow:Arrow = null;

private var ballOne:Ball = null;

private var ballTwo:Ball = null;

private var ballOneFlag:Boolean = false;

private var ballTwoFlag:Boolean = false;

private var springLength:Number = 100;

/* Array Ball */

[ArrayElementType("Ball")]

private var arrBall:Array = [];

public function FlashExample1_8() {

//initialize();

/* -------forth chapter-start------*/

//drawCurve();

//loader();

//embedAsset();

//drawGredientLineer();

//drawGredientRadial();

//colorTransform();

//filtersTest();

/* -------forth chapter-end------*/

/* -------fifth chapter-start------*/

//velocity1();

//velocity2();

//acceleration();

/* -------fifth chapter-end------*/

/* ------- chapter-start------*/

//removalBall();

//fountain();

/* -------sixth chapter-end------*/

/* -------seventh chapter-start------*/

//mouseEventTrace();

//dragAndMove1();

//throwing();

/* -------seventh chapter-end------*/

/* -------eighth chapter-start------*/

//esaing();

//spring();

//chainArray();

//offSetSpring();

doubleSpring();

/* -------eighth chapter-end------*/

}

/**

* initialize

*/

public function initialize():void {

}

/*--------TEST--START----------*/

/*--------------------------------------------*/

/**

* doubleSpring

*/

public function doubleSpring():void {

ballOne = new Ball(10, 0x00FF00);

ballTwo = new Ball(10, 0x0000FF);

ballOne.x = Math.random() * stage.stageWidth / 2;

ballOne.y = Math.random() * stage.stageHeight / 2;

ballTwo.x = Math.random() * stage.stageWidth / 2;

ballTwo.y = Math.random() * stage.stageHeight / 2;

ballOne.bounc = 0.1;

ballOne.friction = 0.96;

ballTwo.bounc = 0.1;

ballTwo.friction = 0.96;

addChild(ballOne);

addChild(ballTwo);

springLength = getAFromB(ballOne.x, ballOne.y, ballTwo.x, ballTwo.y);

ballOne.addEventListener(MouseEvent.MOUSE_DOWN, onDoubleSpringHandler, false, 0, true);

ballTwo.addEventListener(MouseEvent.MOUSE_DOWN, onDoubleSpringHandler, false, 0, true);

stage.addEventListener(MouseEvent.MOUSE_UP, onDoubleSpringHandler, false, 0, true);

addEventListener(Event.ENTER_FRAME, onDoubleSpring, false, 0, true);

}

/**

* doubleSpring ENTER_FRAME

*/

public function onDoubleSpring(event:Event):void {

if(!ballOneFlag){

springTo(ballOne, ballTwo);

}

if(!ballTwoFlag){

springTo(ballTwo, ballOne);

}

onDrawLine(ballOne.x, ballOne.y, ballTwo.x, ballTwo.y);

}

/**

* doubleSpring MOUSE_DOWN

*/

public function onDoubleSpringHandler(event:MouseEvent):void {

if (event.type == MouseEvent.MOUSE_DOWN) {

Ball(event.target).startDrag();

if (Ball(event.target) == ballOne) {

ballOneFlag = true;

}

else if (Ball(event.target) == ballTwo) {

ballTwoFlag = true;

}

}else if (event.type == MouseEvent.MOUSE_UP) {

ballOne.stopDrag();

ballTwo.stopDrag();

ballOneFlag = false;

ballTwoFlag = false;

}

}

/**

* spring To

*/

public function springTo(_ballA:Ball, _ballB:Ball):void {

var angle:Number = Math.atan2(_ballA.y - _ballB.y, _ballA.x - _ballB.x)

targetx = _ballB.x + Math.cos(angle) * springLength;

targety = _ballB.y + Math.sin(angle) * springLength;

_ballA.vx += (targetx - _ballA.x) * _ballA.bounc;

_ballA.vy += (targety - _ballA.y) * _ballA.bounc;

_ballA.vx *= _ballA.friction;

_ballA.vy *= _ballA.friction;

_ballA.x += _ballA.vx;

_ballA.y += _ballA.vy;

}

/**

* onSpringHandler

*/

public function onBallDrawLineHandler(event:Event):void {

onDrawLine(ballOne.x, ballOne.y, ballTwo.x, ballTwo.y);

}

/*--------------------------------------------*/

/**

* offSetSpring

*/

public function offSetSpring():void {

ball = new Ball(10, Math.random() * 0xFFFFFF);

ball.x = stage.stageWidth/2;

ball.y = stage.stageHeight/2;

fieldx = 100;

fieldy = 100;

ball.bounc = 0.2;

ball.friction = 0.9;

addChild(ball);

springLength = getAFromB(ball.x, fieldx, ball.y, fieldy);

ball.addEventListener(MouseEvent.MOUSE_DOWN, onOffSetSpringHandler, false, 0, true);

onDrawLine(fieldx, fieldy, ball.x, ball.y);

}

/**

* offSetSpring ENTER_FRAME

*/

public function onOffSetSpring(event:Event):void {

var angle:Number = Math.atan2(ball.y - fieldy, ball.x - fieldx)

targetx = fieldx + Math.cos(angle) * springLength;

targety = fieldy + Math.sin(angle) * springLength;

ball.vx += (targetx - ball.x) * ball.bounc;

ball.vy += (targety - ball.y) * ball.bounc;

ball.vx *= ball.friction;

ball.vy *= ball.friction;

ball.x += ball.vx;

ball.y += ball.vy;trace(ball.x);

onDrawLine(fieldx, fieldy, ball.x, ball.y);

}

/**

* offSetSpring MOUSE_DOWN

*/

public function onOffSetSpringHandler(event:Event):void {

if (event.type == MouseEvent.MOUSE_DOWN) {

removeEventListener(Event.ENTER_FRAME, onOffSetSpring);

addEventListener(Event.ENTER_FRAME, onDrawLineHandler);

stage.addEventListener(MouseEvent.MOUSE_UP, onOffSetSpringHandler, false, 0, true);

ball.startDrag();

}else if (event.type == MouseEvent.MOUSE_UP) {

removeEventListener(Event.ENTER_FRAME, onDrawLineHandler);

stage.removeEventListener(MouseEvent.MOUSE_UP, onOffSetSpringHandler);

addEventListener(Event.ENTER_FRAME, onOffSetSpring, false, 0, true);

ball.stopDrag();

}

}

/*--------------------------------------------*/

/**

* chainArray

*/

public function chainArray():void {

for (var i:int = 0; i < 10; i++) {

var picBall:Ball = new Ball(10, Math.random() * 0xFFFFFF);

picBall.bounc = 0.5;

picBall.gravity = 0;

addChild(picBall);

arrBall.push(picBall);

}

addEventListener(Event.ENTER_FRAME, onChainArrayHandler, false, 0, true);

}

/**

* chainArray ENTER_FRAME

*/

public function onChainArrayHandler(event:Event):void {

moveBall(Ball(arrBall[0]), mouseX, mouseY);

for (var i:int = 1; i < arrBall.length; i++) {

var ballcase1:Ball = Ball(arrBall[i]);

var ballcase0:Ball = Ball(arrBall[i - 1]);

moveBall(ballcase1, ballcase0.x, ballcase0.y);

}

}

/**

* move ball

*/

public function moveBall(_ball:Ball, _tarx:Number, _tary:Number):void {

_ball.vx = (_tarx - _ball.x) * _ball.bounc;

_ball.vy = (_tary - _ball.y) * _ball.bounc;

_ball.vx *= _ball.bounc;

_ball.vy += _ball.gravity;

_ball.x += _ball.vx;

_ball.y += _ball.vy;

}

/*--------------------------------------------*/

/**

* spring

*/

public function spring():void {

fieldx = stage.stageWidth / 2;

fieldy = stage.stageHeight / 2;

ball = new Ball(10);

ball.x = 100;

ball.y = 100;

ball.bounc = 0.5;

ball.friction = 0.05;

ball.gravity = 0.02;

addChild(ball);

onDrawLine(fieldx, fieldy, ball.x, ball.y);

ball.addEventListener(MouseEvent.MOUSE_DOWN, onSpringDownHandler, false, 0, true);

}

/**

* spring MOUSE_DOWN

*/

public function onSpringDownHandler(event:Event):void {

if (event.type == MouseEvent.MOUSE_DOWN) {

removeEventListener(Event.ENTER_FRAME, onSpringHandler);

addEventListener(Event.ENTER_FRAME, onDrawLineHandler);

stage.addEventListener(MouseEvent.MOUSE_UP, onSpringDownHandler, false, 0, true);

ball.startDrag();

}else if (event.type == MouseEvent.MOUSE_UP) {

removeEventListener(Event.ENTER_FRAME, onDrawLineHandler);

stage.removeEventListener(MouseEvent.MOUSE_UP, onSpringDownHandler);

addEventListener(Event.ENTER_FRAME, onSpringHandler, false, 0, true);

ball.stopDrag();

}

}

/**

* onSpringHandler

*/

public function onSpringHandler(event:Event):void {

ball.ax = (fieldx - ball.x) * ball.bounc;

ball.ay = (fieldy - ball.y) * ball.bounc;

ball.vx += ball.ax;

ball.vy += ball.ay;

ball.vx *= (1 - ball.friction);

ball.vy *= (1 - ball.gravity);

ball.x += ball.vx;

ball.y += ball.vy;

onDrawLine(fieldx, fieldy, ball.x, ball.y);

}

/*--------------------------------------------*/

/**

* throwing

*/

public function esaing():void {

ball = new Ball(10);

ball.friction = 0.1;

ball.bounc = 0.01;

ball.alpha = 1;

addChild(ball);

addEventListener(Event.ENTER_FRAME, onEsaingHandler, false, 0, true);

}

/**

* onEsaingHandler

*/

public function onEsaingHandler(event:Event):void {

var target:Number = Math.sqrt((mouseX - ball.x) *(mouseX - ball.x) + (mouseY - ball.y) *(mouseY - ball.y));

if (target <= 0.5) {

ball.x = mouseX;

ball.y = mouseY;

ball.alpha = 1;

//removeEventListener(Event.ENTER_FRAME, onEsaingHandler);

}

else {

red = 255 * ball.bounc;

green = 255 * ball.bounc;

blue = 255 * ball.bounc;

redTar += red;

greenTar += green;

blueTar += blue;

ball.transform.colorTransform = new ColorTransform(1, 1, 1, 1, 0, 0, blueTar, 0);

ball.vx = (mouseX - ball.x) * ball.friction;

ball.vy = (mouseY - ball.y) * ball.friction;

ball.x += ball.vx;

ball.y += ball.vy;

}

}

/*--------------------------------------------*/

/**

* throwing

*/

public function throwing():void {

stage.align = StageAlign.TOP_LEFT;

stage.scaleMode = StageScaleMode.NO_SCALE;

ball = new Ball(30);

ball.x = stage.stageWidth / 2;

ball.y = stage.stageHeight / 2;

ball.bounc = -0.7;

ball.gravity = 0.5;

ball.friction = 0.1;

ball.vx = - 5;

ball.vy = -10;

addChild(ball);

ball.addEventListener(MouseEvent.MOUSE_DOWN, onThrowingDownHandler, false, 0, true);

addEventListener(Event.ENTER_FRAME, onThrowingHandler, false, 0, true);

}

/**

* MOUSE_DOWN

*/

public function onThrowingDownHandler(event:MouseEvent):void {

if (event.type == MouseEvent.MOUSE_DOWN) {

targetx = ball.x;

targety = ball.y;

removeEventListener(Event.ENTER_FRAME, onThrowingHandler);

addEventListener(Event.ENTER_FRAME, onTraceVelocityHandler, false, 0, true);

stage.addEventListener(MouseEvent.MOUSE_UP, onThrowingDownHandler, false, 0, true);

ball.startDrag();

}else if (event.type == MouseEvent.MOUSE_UP) {

stage.removeEventListener(MouseEvent.MOUSE_UP, onThrowingDownHandler);

removeEventListener(Event.ENTER_FRAME, onTraceVelocityHandler);

addEventListener(Event.ENTER_FRAME, onThrowingHandler, false, 0, true);

ball.stopDrag();

trace(MouseEvent.MOUSE_UP);

}

}

/**

* ENTER_FRAME

*/

public function onThrowingHandler(event:Event):void {

if (ball.x + ball.radius >= stage.stageWidth) {

ball.x = stage.stageWidth - ball.radius;

ball.vx *= ball.bounc;

}else if (ball.x - ball.radius <= 0) {

ball.x = 0 + ball.radius;

ball.vx *= ball.bounc;

}

if (ball.y + ball.radius >= stage.stageHeight) {

ball.y = stage.stageHeight - ball.radius;

ball.vy *= ball.bounc;

}else if (ball.y - ball.radius <= 0) {

ball.y = 0 + ball.radius;

ball.vy *= ball.bounc;

}

ball.vy += ball.gravity;

/* X coordinate friction*/

if (ball.y == stage.stageHeight - ball.radius) {

ball.vx *= ball.friction;

}

ball.x += ball.vx;

ball.y += ball.vy;

}

/**

* ENTER_FRAME

*/

public function onTraceVelocityHandler(event:Event):void {

ball.vx = ball.x - targetx;

ball.vy = ball.y - targety;

targetx = ball.x;

targety = ball.y;

}

/*--------------------------------------------*/

/**

* drag and move1

*/

public function dragAndMove1():void {

stage.align = StageAlign.TOP_LEFT;

stage.scaleMode = StageScaleMode.NO_SCALE;

ball = new Ball(30);

ball.x = stage.stageWidth / 2;

ball.y = stage.stageHeight / 2;

ball.bounc = -0.7;

ball.gravity = 0.5;

ball.friction = 0.1;

ball.vx = - 5;

ball.vy = -10;

addChild(ball);

ball.addEventListener(MouseEvent.MOUSE_DOWN, onDragAndMoveDownHandler, false, 0, true);

addEventListener(Event.ENTER_FRAME, onDragAndMoveHandler, false, 0, true);

}

/**

* MOUSE_DOWN

*/

public function onDragAndMoveDownHandler(event:MouseEvent):void {

if (event.type == MouseEvent.MOUSE_DOWN) {

//ball.vx = 0;

ball.vy = 0;

removeEventListener(Event.ENTER_FRAME, onDragAndMoveHandler);

stage.addEventListener(MouseEvent.MOUSE_UP, onDragAndMoveDownHandler, false, 0, true);

ball.startDrag();

}else if (event.type == MouseEvent.MOUSE_UP) {

stage.removeEventListener(MouseEvent.MOUSE_UP, onDragAndMoveDownHandler);

addEventListener(Event.ENTER_FRAME, onDragAndMoveHandler, false, 0, true);

ball.stopDrag();

}

}

/**

* ENTER_FRAME

*/

public function onDragAndMoveHandler(event:Event):void {

if (ball.x + ball.radius >= stage.stageWidth) {

ball.x = stage.stageWidth - ball.radius;

ball.vx *= ball.bounc;

}else if (ball.x - ball.radius <= 0) {

ball.x = 0 + ball.radius;

ball.vx *= ball.bounc;

}

if (ball.y + ball.radius >= stage.stageHeight) {

ball.y = stage.stageHeight - ball.radius;

ball.vy *= ball.bounc;

}else if (ball.y - ball.radius <= 0) {

ball.y = 0 + ball.radius;

ball.vy *= ball.bounc;

}

ball.vy += ball.gravity;

/* X coordinate friction*/

if (ball.y == stage.stageHeight - ball.radius) {

//ball.vx *= ball.friction;

}

ball.x += ball.vx;

ball.y += ball.vy;

}

/*--------------------------------------------*/

/**

* mouseEventTrace

*/

public function mouseEventTrace():void {

ball = new Ball(30);

addChild(ball);

ball.x = stage.stageWidth / 2;

ball.y = stage.stageHeight / 2;

ball.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDownHandler1, false, 0, true);

ball.addEventListener(MouseEvent.MOUSE_UP, onMouseDownHandler1, false, 0, true);

stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDownHandler2, false, 0, true);

stage.addEventListener(MouseEvent.MOUSE_UP, onMouseDownHandler2, false, 0, true);

}

/**

* MOUSE_DOWN

*/

public function onMouseDownHandler1(event:MouseEvent):void {

/* only cursor on the MC */

if (event.type == MouseEvent.MOUSE_DOWN) {

//ball.startDrag(true);

//ball.startDrag(false);

ball.startDrag(false, new Rectangle(100, 100, 100, 100));

//trace("ball-MOUSE_DOWN");

}else if (event.type == MouseEvent.MOUSE_UP) {

ball.stopDrag();

//trace("ball-MOUSE_UP");

}

}

/**

* MOUSE_DOWN

*/

public function onMouseDownHandler2(event:MouseEvent):void {

if (event.type == MouseEvent.MOUSE_DOWN) {

//ball.startDrag(false);

//stage.addEventListener(MouseEvent.MOUSE_UP, onMouseDownHandler2, false, 0, true);

//trace("stage-MOUSE_DOWN");

}else if (event.type == MouseEvent.MOUSE_UP) {

//stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseDownHandler2);

//ball.stopDrag();

//trace("stage-MOUSE_UP");

}

}

/*--------------------------------------------*/

/**

* fountain

*/

public function fountain():void {

stage.align = StageAlign.TOP_LEFT;

stage.scaleMode = StageScaleMode.NO_SCALE;

for (var i:int = 0; i < 100; i++) {

var picBall:Ball = new Ball(2, Math.random() * 0xFFFFFF);

picBall.x = stage.stageWidth / 2;

picBall.y = stage.stageHeight;

picBall.vx = Math.random() * 4 - 8;

picBall.vy = Math.random() * 5 -20;

addChild(picBall);

arrBall.push(picBall);

}

addEventListener(Event.ENTER_FRAME, onfountainHandler, false, 0, true);

}

/**

* fountain

*/

public function onfountainHandler(event:Event):void {

for (var i:int = arrBall.length - 1; i > 0; i--) {

var ballcase:Ball = Ball(arrBall[i]);

ballcase.x += ballcase.vx;

ballcase.vy += 1; // gravity

ballcase.y += ballcase.vy;

if ((ballcase.x - ballcase.radius > stage.stageWidth)

|| (ballcase.x + ballcase.radius < 0)

|| (ballcase.y - ballcase.radius > stage.stageHeight)

|| (ballcase.y + ballcase.radius < 0)) {

ballcase.x = stage.stageWidth / 2;

ballcase.y = stage.stageHeight;

ballcase.vx = Math.random() * 4 - 8;

ballcase.vy = Math.random() * 5 -20;

}

}

}

/*--------------------------------------------*/

/**

* removalBall

*/

public function removalBall():void {

stage.align = StageAlign.TOP_LEFT;

stage.scaleMode = StageScaleMode.NO_SCALE;

for (var i:int = 0; i < 10; i++) {

var picBall:Ball = new Ball(10);

picBall.x = Math.random() * stage.stageWidth / 2;

picBall.y = Math.random() * stage.stageHeight / 2;

picBall.vx = Math.random() * 2 - 1;

picBall.vy = Math.random() * 2 - 1;

addChild(picBall);

arrBall.push(picBall);

}

addEventListener(Event.ENTER_FRAME, onRemovalBallHandler, false, 0, true);

}

/**

* removalBall

*/

public function onRemovalBallHandler(event:Event):void {

for (var i:int = arrBall.length - 1; i > 0; i--) {

var ballcase:Ball = Ball(arrBall[i]);

ballcase.x += ballcase.vx;

ballcase.y += ballcase.vy;

if ((ballcase.x - ballcase.radius > stage.stageWidth)

|| (ballcase.x + ballcase.radius < 0)

|| (ballcase.y - ballcase.radius > stage.stageHeight)

|| (ballcase.y + ballcase.radius < 0)) {

trace(ballcase.x);trace(ballcase.y);

removeChild(ballcase);

arrBall.splice(i, 1);

if (arrBall.length <= 0) {

removeEventListener(Event.ENTER_FRAME, onRemovalBallHandler);

}

}

}

}

/*--------------------------------------------*/

/**

* acceleration

*/

public function acceleration():void {

ball = new Ball(10);

addChild(ball);

ball.bounc = -0.7;

ball.x = stage.stageWidth / 2;

ball.y = stage.stageHeight / 2;

addEventListener(Event.ENTER_FRAME, onEnterFrameAccelerationHandler2, false, 0, true);

stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDownHandler2, false, 0, true);

stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUpHandler2, false, 0, true);

}

/**

* acceleration

* @param evet

*/

private function onKeyDownHandler2(event:KeyboardEvent):void {

var key:uint = event.keyCode;

switch(key) {

case Keyboard.LEFT:

ball.ax -= 0.01;

break;

case Keyboard.UP:

ball.ay -= 0.01;

break;

case Keyboard.RIGHT:

ball.ax += 0.01;

break;

case Keyboard.DOWN:

ball.ay += 0.01;

break;

default:

trace(key);

break;

}

}

/**

* acceleration

* @param evet

*/

private function onKeyUpHandler2(event:KeyboardEvent):void {

ball.ax = 0;

ball.ay = 0;

}

/**

* acceleration

* @param evet

*/

private function onEnterFrameAccelerationHandler2(event:Event):void {

if (ball.x + ball.radius >= stage.stageWidth) {

ball.x = stage.stageWidth - ball.radius;

ball.vx *= ball.bounc;

}else if (ball.x - ball.radius <= 0) {

ball.x = 0 + ball.radius;

ball.vx *= ball.bounc;

}

if (ball.y + ball.radius >= stage.stageHeight) {

ball.y = stage.stageHeight - ball.radius;

ball.vy *= ball.bounc;

}else if (ball.y - ball.radius <= 0) {

ball.y = 0 + ball.radius;

ball.vy *= ball.bounc;

}

else {

}

ball.vx += ball.ax;

ball.vy += ball.ay;

//ball.vy += 0.02;

ball.x += ball.vx;

ball.y += ball.vy;

//trace("x:" + ball.x + " " + "y:" + ball.y);

}

/*--------------------------------------------*/

/**

* velocity

*/

public function velocity2():void {

arrow = new Arrow();

arrow.bounc = 0.7;

addChild(arrow);

arrow.x = 100;

arrow.y = 100;

addEventListener(Event.ENTER_FRAME, onEnterFrameHandler2, false, 0, true);

}

/**

* velocity2

* @param evet

*/

private function onEnterFrameHandler2(evet:Event):void {

var dx:Number = mouseX - arrow.x;

var dy:Number = mouseY - arrow.y;

var vr:Number = 5;

// get radian

var radian:Number = Math.atan2(dy, dx);

/* get angle */

arrow.rotation = radian * 180 / Math.PI;

//arrow.rotation += vr;

/* set speed */

arrow.ax = Math.cos(radian) * 0.3;

arrow.ay = Math.sin(radian) * 0.3;

arrow.vx += arrow.ax;

arrow.vy += arrow.ay;

//arrow.vx *= arrow.bounc;

//arrow.vy *= arrow.bounc;

arrow.x += arrow.vx;

arrow.y += arrow.vy;

}

/*--------------------------------------------*/

/**

* velocity1

*/

public function velocity1():void {

ball = new Ball();

addChild(ball);

ball.x = 50;

ball.y = 100;

addEventListener(Event.ENTER_FRAME, onEnterFrameHandler1, false, 0, true);

}

/**

* velocity

* @param evet

*/

private function onEnterFrameHandler1(evet:Event):void {

ball.vx = Math.cos(45) * 3;

ball.vy = Math.sin(45) * 3;

ball.x += ball.vx;

ball.y += ball.vy;

}

/*--------------------------------------------*/

/**

* filter

*/

public function filtersTest():void {

graphics.lineStyle(1,0,0);

graphics.beginFill(0xFF0000, 1);

graphics.drawCircle(200, 200, 100);

graphics.endFill();

filters = [new BlurFilter(20, 20, 1)];

}

/*--------------------------------------------*/

/**

* colorTransform

*/

public function colorTransform():void {

var img:Bitmap = new pic();

addChild(img);

img.transform.colorTransform = new ColorTransform(-1, -1, -1, 1, 255, 255, 255, 0);

}

/*--------------------------------------------*/

/**

* beginGradientFill,GradientType.RADIAL

*/

public function drawGredientRadial():void {

var x:Number = 150;

var y:Number = 250;

var r:Number = 100;

var color1:int = 0xFF0000;//red

var color2:int = 0xFFFFFF;//black

graphics.lineStyle(1);

graphics.lineStyle(1, 0, 0);

var color:Array = [color1, color2];

var alphas:Array = [1, 1];

var ratios:Array = [0, 255];

var matrix:Matrix = new Matrix();

matrix.createGradientBox(r * 2, r * 2, 0, x, y);

graphics.beginGradientFill(GradientType.RADIAL, color, alphas, ratios, matrix);

graphics.drawCircle(x + r, y + r, r);

graphics.endFill();

}

/*--------------------------------------------*/

/**

* beginGradientFill,GradientType.LINEAR

*/

public function drawGredientLineer():void {

graphics.lineStyle(1);

var color:Array = [0xff0000, 0xffffff];

var alphas:Array = [1, 1];

var ratios:Array = [0, 255];

var matrix:Matrix = new Matrix();

matrix.createGradientBox(100, 100, 0, 0, 0);

graphics.beginGradientFill(GradientType.LINEAR, color, alphas, ratios, matrix);

graphics.drawRect(0, 0, 100, 100);

graphics.endFill();

}

/*--------------------------------------------*/

/**

* drawCurve

*/

public function drawCurve():void {

stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMoveHandler, false, 0, true);

}

/**

* curveTo

* @param event

*/

public function onMouseMoveHandler(event:MouseEvent):void {

x1 = mouseX * 2 - (x0 + x2) / 2;

y1 = mouseY * 2 - (y0 + y2) / 2;

graphics.clear();

graphics.lineStyle(1);

graphics.moveTo(x0, y0);

graphics.curveTo(x1, y1, x2, y2);

}

/*--------------------------------------------*/

/**

* Embed

*/

public function embedAsset():void {

var img:Bitmap = new pic();

addChild(img);

}

/*--------------------------------------------*/

/**

* loader

*/

public function loader():void {

var loader:Loader = new Loader();

addChild(loader);

loader.load(new URLRequest("DC1.jpg"));

}

/*--------------------------------------------*/

/*-------common*/

public function getAFromB(x1:Number, x2:Number, y1:Number,y2:Number):Number {

return Math.sqrt((x1 - x2) *(x1 - x2) + (y1 - y2) *(y1 - y2));

}

public function getNewBall(_ball:Ball, length:Number) {

}

/**

* onSpringHandler

*/

public function onDrawLineHandler(event:Event):void {

onDrawLine(fieldx, fieldy, ball.x, ball.y);

}

/**

* draw line

*/

public function onDrawLine(x1:Number, y1:Number, x2:Number,y2:Number):void {

graphics.clear();

graphics.lineStyle(1);

graphics.moveTo(x1, y1);

graphics.lineTo(x2, y2);

}

/*-------common*/

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: