as3.0拼图
package com{
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.geom.Point;
import flash.utils.Timer;
import flash.events.TimerEvent;
public class SXPT extends MovieClip {
private var mouseMc:MovieClip;
private var roundInt:int;
private var roundArr:Array;
private var startXYarr:Array;
private var newMc:MovieClip;
private var point:Point;
private var timer:Timer;
public function SXPT(_mouseMc:MovieClip) {
mouseMc=_mouseMc;
roundInt=0;
roundArr=[];
startXYarr=[];
while (roundArr.length<12) {
roundInt=1+Math.random()*12;
if (roundArr.indexOf(roundInt)==-1) {
roundArr.push(roundInt);
}
}
for (var i:uint=1; i<=12; i++) {
mouseMc["darg_"+roundArr[i-1]].x=mouseMc["di_"+i].x;
mouseMc["darg_"+roundArr[i-1]].y=mouseMc["di_"+i].y;
}
mouseMc.addEventListener(MouseEvent.MOUSE_DOWN,onMouseMc);
mouseMc.addEventListener(MouseEvent.MOUSE_UP,onMouseMc);
}
private function onMouseMc(e:MouseEvent) {
var str:String=e.target.name;
if (str.slice(0,2)=="da") {
if (e.type=="mouseDown") {
newMc=e.target as MovieClip;
mouseMc.setChildIndex(newMc,mouseMc.numChildren-1);
startXYarr.push(newMc.x,newMc.y);
newMc.startDrag();
} else if (e.type=="mouseUp") {
point=new Point(newMc.x+newMc.width/2,newMc.y+newMc.height/2);
point=mouseMc.localToGlobal(point);
for (var i:uint=1; i<=12; i++) {
if (mouseMc["darg_"+i].hitTestPoint(point.x,point.y)) {
if (newMc.name.slice(5,7)!=String(i)) {
newMc.x=mouseMc["darg_"+i].x;
newMc.y=mouseMc["darg_"+i].y;
mouseMc["darg_"+i].x=startXYarr[0];
mouseMc["darg_"+i].y=startXYarr[1];
break
}
} else {
newMc.x=startXYarr[0];
newMc.y=startXYarr[1];
}
}
stopDrag();
startXYarr=[];
}
}
}
}
}
as3.0拼图的更多相关文章
- [ActionScript 3.0] AS3.0和AS2.0的相互通信
AS3和AS2之间的通信,最好的方式可能就是LocalConnection了. AS2向AS3发送数据,即AS2调用AS3的函数: as2.0代码(按钮上写的发送信息代码): on (release) ...
- 转载:Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式
Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式 出自:http://www.cnblogs.com/top5/archive/2012/08/04/2623464.html 关 ...
- as3.0 interface接口使用方法
[转]as3.0 interface接口使用方法 AS在2.0的时候就支持接口了 接口能够让你的程序更具扩展性和灵活性,打个例如 比方你定义了一个方法 代码: public function aMet ...
- AS3.0定义变量的访问范围
在AS3.0中变量的默认访问范围是:internal:包内成员可以访问,包外不可访问.AS2.0默认访问范围是public
- AS3.0函数定义的方法
在AS3.0中函数的定义有两种方法: 函数语句定义法: function 函数名(参数1:参数类型,参数2:参数类型):返回值类型{ 函数折行的语句 } function testAdd(a:int, ...
- AS3.0下去除flash右键菜单
这两天工作中遇到一个问题,就是网页中内嵌的flash小游戏的用户体验,当鼠标在flash上点击右键时,出现的右键菜单中会有播放,停止等选项,虽然不会造成什么漏洞,但是体验非常差.在寻找解决方案的时候, ...
- As3.0 类的【枚举】
As3.0 类的枚举 “枚举”是您创建的一些自定义数据类型,用于封装一小组值.ActionScript 3.0 并不支持具体的枚举工具,这与 C++ 使用 enum 关键字或 Java 使用 En ...
- Java&&As3.0 中的final 关键字
Java和AS3.0关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. 可以修饰的对象: fin ...
- “AS3.0高级动画编程”学习:第一章高级碰撞检测
AdvancED ActionScript 3.0 Animation 是Keith Peters大师继"Make Things Move"之后的又一力作,网上已经有中文翻译版本了 ...
随机推荐
- Android dialog使用
翻译自:开发->API 指南->User Interface & Navigation->Dialogs 注意: dialog是一个基类,但是我们应该尽可能避免直接使用dia ...
- 设置SVN服务器
1 下载svn服务器,参考地址 http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html 下载地址: http://subv ...
- twisted如何生成deferred的
@implementer(interfaces.IStreamClientEndpoint)class TCP4ClientEndpoint(object): """ ...
- Gson 解决时间解析问题
异常: at org.eclipse.jdt.) at org.eclipse.jdt.) Caused by: java.text.ParseException: Failed to parse d ...
- java环境变量配置方法
原创文章,转载请注明出处. 这是本人2011-9-4记录的,现在把它放在博客上. windows xp下配置JDK环境变量: 1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为 ...
- Cause: java.sql.SQLException: The user specified as a definer ('root'@'%') does not exist
权限问题,授权 给 root 所有sql 权限 mysql> grant all privileges on *.* to root@"%" identified by &q ...
- android平台yuv缩放相关<转>
Android的视频相关的开发,大概一直是整个Android生态,以及Android API中,最为分裂以及兼容性问题最为突出的一部分.摄像头,以及视频编码相关的API,Google一直对这方面的控制 ...
- sqlserver中 事物 索引及视图
事务 1.什么是事务 事务是一个不可分割的工作逻辑单元,它包含了一组数据库的操作命令,并且所有命令作为一个整体一起向系统提交或撤销操作请求,即要么都执行,要么都不执行 2.事务的4个属性 (1). ...
- Delphi的程序单元、结构、基础知识(转)
Object Passal的程序结构很特殊,与其它语言如C++,Object Windows等结构都不同.一个Delphi程序由多个称为单元的源代码模块组成.使用单元可以把一个大型程序分成多个逻辑相关 ...
- linux 协议栈tcp的rst报文中,seq的选取问题
之前在<深入理解并行编程>的群里,有个小米的兄弟问了一个问题,服务器A发包给服务器B,Seq是1,但是在未能收到服务器B的报文回复的情况下,发送了rst,但是rst报文中,对应的seq是1 ...