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"之后的又一力作,网上已经有中文翻译版本了 ...
随机推荐
- tomcat jvm 内存调优 适用于 JDK 6 & 7
参考:https://blog.csdn.net/m0_37327416/article/details/76185051 1.jvm内存管理机制: 1)堆(Heap)和非堆(Non-heap)内存 ...
- 在keil调用Notepad++
先打开keil, 新建一个 取名为notepad 选择notepad++的安装路径 设置参数 保持后可以看多了notepad的选项 运行当前的文件在notepad++打开
- 20165304实验一java开发环境熟悉
实验报告封面 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:李松杨 学号:20165304 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验时间:13:45 - 15:25 实 ...
- linux配置sphinx
1. 配置索引 cd /usr/local/sphinx/etc/ cp sphinx.conf.dist sphinx.conf //备份配置文件,防止改错 vim sphinx.conf 配置文件 ...
- 机器学习进阶-图像形态学操作-膨胀操作 1.cv2.dilate(进行膨胀操作)
1.cv2.dilate(src, kernel, iteration) 参数说明: src表示输入的图片, kernel表示方框的大小, iteration表示迭代的次数 膨胀操作原理:存在一个ke ...
- Servlet基本_画面遷移
画面遷移方法は.下記ようがある.・リクエストのディスパッチ・リダイレクト(画面から) 1.ディスパッチ1)概念サーブレットから他のリソース(サーブレット.JSP.Htmlなど)にリクエストを転送するこ ...
- C# winform进度条 (异步)
进度条页面: http://www.cnblogs.com/Deckard/archive/2009/06/24/1510451.html //============================ ...
- 使用DOM的方法获取所有li元素,然后使用jQuery()构造函数把它封装为jQuery对象
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- hadoop-1(单机模式配置)
下一次的目标是: 把Hadoop的伪分布式配置出来 1:ssh免密码登陆第一步 2:安装java环境 3:安装hadoop2
- ArcGIS案例学习笔记2_2_txtexcel空间可视化和空间插值
ArcGIS案例学习笔记2_2_txt/excel空间可视化和空间插值 计划时间:第二天下午 教程:pdf page=337 数据:chapter8/ex4 方法: 1.加载xy.txt和gdp.tx ...