flash AS3.0学习笔记----拖动棋子所停之处生成新的棋子
来源:互联网 发布:淘宝店铺优惠券平台 编辑:程序博客网 时间:2024/05/22 17:03
拖动棋子所停之处生成新的棋子
最近通过做项目对棋子拖动问题有了更深一步的了解学习。今天就来给大家分享一下,拖动棋子之后是如何再生成新棋子,然后完成继续拖动下棋的功能。
大概流程:将棋碗里的棋子拖走之后,原来的位置立马生成一颗一模一样的新棋子。并且棋子下的位置都是网格交点上。拖动棋子吸附到网格上,这个之前的博客有讲,本博就不展开讲了。那现在来讲一下如何再原来的位置产生新的棋子呢?
对棋盘上那个棋子做一个监听事件。用MOUSE_DOWN让鼠标按下的时候产生一颗一模一样的棋子。new一个新的棋子,然后addChild到舞台上。具体代码:
import flash.events.MouseEvent;import flashx.textLayout.formats.WhiteSpaceCollapse;stop();mc1.addEventListener(MouseEvent.MOUSE_DOWN,f1)mc2.addEventListener(MouseEvent.MOUSE_DOWN,f2)var g,h:int;var ww=new white();var xx:Number=500; //新的黑子生成的位置x坐标var yy:Number=480; //新的黑子生成的位置y坐标var xxx:Number=555; //白子var yyy:Number=480;var chess:int = 40;var chessboard1 = new Point(53,102);var bb=new black();var chessboard:Array = new Array();var m,n:int;function f1(e:MouseEvent):void{bb=new black();bb.x=xx;bb.y=yy;bb.width=30;bb.height=30;stage.addChild(bb);mc1.startDrag();mc1.addEventListener(MouseEvent.MOUSE_UP,f3)bb.startDrag();bb.addEventListener(MouseEvent.MOUSE_UP,f3)}由上面的代码可以看出来,接着又对mc1(黑子)加了一个MOUSE_UP的监听事件。作用是松开鼠标的时候将棋子吸附到网格点上,不能随便落子!
function f3(e:MouseEvent):void{m = int((e.stageX - chessboard1.x+ chess/2)/chess);n = int((e.stageY - chessboard1.y + chess/2)/chess);e.target.stopDrag();bb.x=m*chess+chessboard1.x;bb.y=n*chess+chessboard1.y;mc1.removeEventListener(MouseEvent.MOUSE_UP,f3);}
0 0
- flash AS3.0学习笔记----拖动棋子所停之处生成新的棋子
- flash AS3.0学习笔记-拖动棋子(吸附)到棋盘对应网格中心
- 新的挪棋子程序
- 棋子
- 棋子
- AI学习笔记和制作棋子的教程
- 上帝的棋子
- 上帝的棋子
- 黑白棋子的移动
- 黑白棋子的移动
- 黑白棋子的移动
- 黑白棋子的移动
- 黑白棋子的移动
- 不开心的棋子
- BZOJ2648: SJY摆棋子 && 暴力kdtree学习笔记
- flash As3.0 学习笔记 第一课
- 抛玻璃棋子的问题
- 生活的一颗棋子
- 定时器的实现、java定时器Timer和Quartz介绍与Spring中定时器的配置
- LeetCode *** 203. Remove Linked List Elements
- eclipse构建maven项目出错解决办法
- Android AIDL详解
- Quartz任务调度基本使用
- flash AS3.0学习笔记----拖动棋子所停之处生成新的棋子
- Android最佳实践之UI
- 函数CreateSemaphore和ReleaseSemaphore
- 表达式求值
- 用Tomcat内置容器JNDI创建一个Session来实现注册成功后给用户发送一条邮件
- adb shell获取root权限
- 修改返回token内容与手工获取token
- 我的java开始
- 【java】【多态】的一个小例子