flash 方向箭头
前几天一个3D项目上要运用到 方向箭头(鼠标往哪移,箭头就转动一定的角度指向哪)!!
demo: http://6921.ggii.net/swf/ok.swf
操作是: 按下鼠标,并且移动鼠标观察效果!
下面将其代码贴出来:
MC是箭头影片剪辑 实例为arro
Circle 是一个转动的园 按下鼠标,固定在按下点处 实例 circle
代码是在时间轴上写的:
var arro:Sprite= Sprite(new MC());
var circle:MovieClip= MovieClip(new Circle());
arro.name="arro";
circle.name="circle";
stage.addEventListener(MouseEvent.MOUSE_DOWN,onDown,false,1,true);
stage.addEventListener(MouseEvent.MOUSE_UP,onUp,false,1,true);
stage.addEventListener(MouseEvent.MOUSE_MOVE,onMove,false,1,true);
addEventListener(Event.ENTER_FRAME,onFrame,false,1,true);
var tx,ty,gx,gy:int;
var isDown:Boolean;
function onDown(e:MouseEvent) {
isDown=true;
tx=e.stageX;
ty=e.stageY;
Mouse.hide();
addChild(circle);
positionCircle(tx,ty);
}
function onUp(e:MouseEvent) {
graphics.clear();
isDown=false;
Mouse.show();
if (getChildByName(circle.name)!=null) {
removeChild(circle);
}
if (getChildByName(arro.name)!=null) {
removeChild(arro);
}
}
function onMove(e:MouseEvent) {
gx=e.stageX;
gy=e.stageY;
if (isDown) {
addChild(arro);
arro.x=gx;
arro.y=gy;
}
}
function positionCircle(tx:int,ty:int) {
circle.x=tx;
circle.y=ty;
}
function onFrame(e:Event) {
// 处理鼠标旋转
var disX:int=gx-tx;
var disY:int=gy-ty;
var angle:Number=Number(Math.atan(disY/disX)*180/Math.PI);// atan返回的是弧度值,要转换为角度值
//if (disX == 0) { 这里不需要处理 这点是特殊点 可以忽略不计
//if(disY>=0){
//
//angle=90}else{
//
//angle=270
//
//
//
//}
//}
//
if (disX>0) {
//do nothing
}
if (disX<0) {
 
相关文档:
做了一个弹出窗口,点击后发现它和flash重合的部分,被flash盖住了,查了一下解决方法:
原代码如下:
<object classid='clsid:D27CDB6E-AE6D-11CF-96B8-444553540000' id='obj6' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0' border='0' width='266' height='1 ......
import flash.net.FileFilter;
import flash.net.FileReferenceList;
import fl.controls.Button;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.events.HTTPStatusEvent;
import flash.display.Loader;
import flash.net.URLRequest;
var ......
import flash.display.MovieClip;
import flash.geom.Rectangle;
import fl.controls.UIScrollBar;
import fl.controls.ScrollBarDirection;
import fl.events.ScrollEvent;
var container:MovieClip=new MovieClip();
//container.addChild(create_mc());
//container.addChild(create_mc());
addChild(container) ......
ExternalInterfaceExample.as
以下示例演示了在 Flash Player 与 HTML 容器之间发送数据的过程。
package {
import flash.display.Sprite;
import flash.events.*;
import flash.external.ExternalInterface;
import flash.text.TextField;
import flash.utils.Timer;
import flash.text. ......
很早之前尝试过3D效果也曾创建过这样的效果,现在使用CS4自身的能力去创建这种效果。在学习这种效果的时候,个人依旧强调效果背后的数学和物理原理,这些工具为我们创建效果带来帮助。
Flash cs3 到cs4过渡,改造了DisplayObject类,引人z轴和旋转等概念后,做3D的效果带来很多帮助。过去要采用引擎或者通过其他计算方式创 ......