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"之后的又一力作,网上已经有中文翻译版本了 ...
随机推荐
- centos7挂载本地yum文件
https://www.cnblogs.com/aenjon/p/4081794.html
- spark 常用技巧总结
解析url scala> import java.net.URLimport java.net.URL scala> val urlstr="http://www.baidu.c ...
- [Python]实践:实现探测Web服务质量
来源:Python 自动化运维 技术与最佳实践 HTTP服务是最流行的互联网应用之一,服务质量的好坏关系到用户体验以及网站的运营服务水平,最常用的有两个标准:1.服务的可用性,比是否处于正常提供服务状 ...
- JS中点击事件冒泡阻止
JS中点击事件冒泡阻止 解析: 一个div层'out',内含有一个div层'in'.如下: 两个层都绑定了点击事件,但是点击in层的时候,点击事件会出现冒泡现象,同时也会触发out层的点击事件. 但是 ...
- 03.windows系统重新分配ip的cmd命令
网络重启CMD命令 ipconfig /release --- 释放ip搜索 ipconfig /renew --- 重新获得
- react-native android app名字 app包名、图标和启动图片设置
1.设置名字 打开 android/app/src/main/res/values/strings.xml 如图,进行修改即可 2.设置图标,最简单可以直接替换,其他后在看 在上图中几个文件夹中都有一 ...
- SonarQube与Jenkins结合提高代码质量
首先,为什么需要SonarQube? 1.WriteClean Code 1)全局健康报告 2)关注新增的问题 3)强制QualityGate 4)Issue详情及建议- 详情参考:https:/ ...
- python-玉米(小米)商城作业
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Redis入门高级部分
Redis: redis批量删除 redis数据备份和恢复 redis安全 redis性能测试 Redis 客户端连接 redis管道技术 redis分区 java操作redis redis批量删除 ...
- IIS快捷方式
一般打开IIS管理器的方式 都是 计算机->管理->服务应用程序->Internet应用程序管理器 这样一步就可以 打开IIS了