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"之后的又一力作,网上已经有中文翻译版本了 ...
随机推荐
- 电脑IP设置
方法一: echo offecho 修改[本地连接]IP......netsh interface IP set address "本地连接" static 138.8.8.111 ...
- electron 项目的搭建方式,借助 node 和 npm
1,首先确定安装了 node 和 npm 2,创建一个文件夹,如 aa 3,CMD 命令进入到 aa,用 npm 命令初始化一个项目 4, npm -init 根据提示完成配置 5,安装 electr ...
- js中json字符串与对象的转换及是否为空
1.json对象(数组)转字符串 var b=[ { "CategoryName" : "Beverages", "ProductName" ...
- container_of使用小结
先上演示代码 #include <stdio.h> #include <stdlib.h> /* offsetof example */ #include <stddef ...
- Bootstarp 模版网站
最佳Bootstrap模版 https://colorlib.com/wp/cat/bootstrap/ https://www.jianshu.com/p/4a116cf24a05
- python 之列表推导式,集合推导式,以及字典推导式
https://www.cnblogs.com/weihengblog/p/8428124.html
- centos磁盘空间重新分配
将/home目录压缩一部分空间到/ ref: https://serverfault.com/a/811124/434124 https://stackoverflow.com/a/19969471/ ...
- python文件处理指针的移动
控制文件指针移动 with open('a.txt',mode='rt',encoding='utf-8')as f: res=f.read(4) print(res) 强调:只有t模式下read(n ...
- Java面试题_简答题
作为一个大三在校生,很快就要去实习了,但总感觉自己连一个刚入门的菜鸟都不如,哎.发现自己连那个程序员的门槛都还没进,有点小伤心,不过伤心没用,努力向前才是我们现在应该做的事情. 下面是我之前在学校所从 ...
- codes often WA
枚举: 1.完美立方 #include<iostream> #include <cstdio> using namespace std; int main() { int N; ...