- 浏览: 336269 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
junyu_h:
record方式可不可以用啊?我用record在red5那边只 ...
as3.0应用h.264的视频编码 -
letian003:
楼主怎么没把那个包一起放出来呢
AS3实例:框选对象 -
letian003:
楼主怎么没把那个把一起放出来呢
AS3实例:框选对象 -
Mr桀骜不驯:
我想请教一下,当你框选之后,怎么样可以实现鼠标点击其他地方(非 ...
AS3实例:框选对象 -
Poechant:
赞!Michael到此一游。。
FLEX提高篇--------ShareObject对象详解
其实也不知道用什么标题好,暂且叫拖动订阅吧,腾讯QQ新闻弹窗有分类个性化定制的功能,觉得挺实用的。
用AS写了个,
用AS写了个,
package { import flash.display.Sprite; import flash.events.MouseEvent; /** * www.duowan.com * @author hacker47 */ [SWF(width="1000",height="600")] public class NewsSetting extends Sprite { private var items:Vector.<Item>; private var icons:Vector.<ItemIcon>; private var selectItemNums:int = 6; private var itemNums:int = 15; private var startX:Number = 20; private var startY:Number = 200; private var itemWidth:Number = 80; private var currentItemInd:int; private var isCollision:Boolean = false; public function NewsSetting() { icons = new Vector.<ItemIcon>(); items = new Vector.<Item>(); var i:int = 0; var item:Item; for (i = 0; i <= itemNums; i++ ) { var sx:Number; var sy:Number; if (i < selectItemNums) { sx = startX + i * itemWidth; sy = startY - 130; }else { sx = startX + (i - selectItemNums) * itemWidth; sy = startY; } item = new Item(sx, sy); addChild(item); items.push(item); } initItem(10); } private function initItem(length:int):void { for (var i:int = 0; i <= length; i++ ) { var icon:ItemIcon = new ItemIcon(i.toString()); icon.x = items[i].x + 4; icon.y = items[i].y + 4; icon.itemIndex = i; addChild(icon); icons.push(icon); icon.addEventListener(MouseEvent.MOUSE_DOWN, onDown); } } private function onDown(e:MouseEvent):void { var icon:ItemIcon = e.target as ItemIcon; //把当前对象置于最顶层 icon.parent.setChildIndex(icon, icon.parent.numChildren - 1); icon.addEventListener(MouseEvent.MOUSE_MOVE, onMove); icon.addEventListener(MouseEvent.MOUSE_UP, onUp); } private function onUp(e:MouseEvent):void { var icon:ItemIcon = e.target as ItemIcon; icon.stopDrag(); icon.removeEventListener(MouseEvent.MOUSE_MOVE, onMove); icon.removeEventListener(MouseEvent.MOUSE_UP, onUp); if (!isCollision) { var item:Item item= items[icon.itemIndex]; icon.x = item.x + 4; icon.y = item.y + 4; }else { insertEelementToVector(currentItemInd, icon); orderAll(); isCollision = false; } } private function onMove(e:MouseEvent):void { var icon:ItemIcon = e.target as ItemIcon; icon.startDrag(false); checkCollision(icon); } private function checkCollision(icon:ItemIcon):void { var item:Item; for (var i:int = 0; i < itemNums; i++ ) { if (icon.itemIndex == i) break; item = items[i]; //碰撞检测 if (icon.hitTestObject(item)) { if (isCollision==false) { isCollision = true; //trace("碰撞了"+i); //insertEelementToVector(i, icon); currentItemInd = i; } return ; }else { isCollision = false; } } } private function insertEelementToVector(index:int, element:ItemIcon):void { var startInd:int = element.itemIndex; icons.splice(index, 0, element); if (index > startInd) { icons.splice(startInd , 1); }else if (index < startInd) { icons.splice(startInd + 1, 1); } } private function orderAll():void { for (var i:int = 0; i < icons.length; i++ ) { icons[i].x = items[i].x + 4; icons[i].y = items[i].y + 4; icons[i].itemIndex = i; } } } } import com.duowan.util.DrawUtil; import flash.display.Stage; import flash.geom.Point; internal class Item extends flash.display.Sprite { private var _width:Number=60; private var _height:Number=60; public function Item(x:Number, y:Number) { this.x = x; this.y = y; DrawUtil.drawRect(graphics, new Point(), _width, _height); } }
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFormat; /** * www.duowan.com * @author hacker47 */ public class ItemIcon extends Sprite { public var itemIndex:int; private var txt:TextField = new TextField(); public function ItemIcon(txtstr:String="") { graphics.clear(); graphics.lineStyle(1); graphics.beginFill(Math.random() * 0xffffff); graphics.drawRoundRect(0, 0, 53, 51, 5); graphics.endFill(); txt.selectable = false; txt.mouseEnabled = false; txt.width = 50; txt.height = 50; //addChild(txt); //for test var tf:TextFormat = new TextFormat(); txt.text = txtstr; tf.align = "center"; tf.color = 0xFF0000; tf.size = 30; txt.setTextFormat(tf); } } }
发表评论
-
as3.0应用h.264的视频编码
2014-05-07 10:54 1231要启用FlashPlayer11中的h.264编码需要导入以下 ... -
AS3实例:框选对象
2012-04-08 11:21 1661代码: package { ... -
AS3图形基础:画虚线矩形框
2012-04-07 19:39 3389画虚线矩形框的需求常常都有,虽然API里没有提供现成的线条样式 ... -
Flash Player 11.3和Adobe AIR3.3新特性
2012-04-06 12:55 1705转自:http://riaoo.com/?p=23 ... -
AS3运动学基础-正弦运动2
2012-04-05 15:08 1248package { import flash. ... -
AS3运动学基础-正弦运动
2012-04-05 14:53 1249package { import flash. ... -
AS3进阶:利用缓冲池显示图片
2012-04-01 16:52 3124无论是开发游戏,还是普通的应用,熟悉bitmapdata类的用 ... -
FLASH BUILDER 4.6 序列号+ 破解
2012-03-27 14:47 77611424-4938-3077-5736-3940-5640 1 ... -
Flash Builder 4 安装提示“安装程序检测到计算机重新启动操作可能处于挂起状态“的解...
2012-03-27 14:06 28411.运行 regedit 打开注册表编辑器。 2.依次展开H ... -
BOX2D基础知识
2012-03-20 17:49 1<!DOCTYPE html PUBLIC " ... -
BOX2D深入浅出1:Hello World Box2D .
2012-03-19 11:36 1756最近工作需要,在研究BOX2D FLASH物理引擎,在9RIA ... -
使用杂点功能制作纹理
2012-03-18 13:19 981若要修改位图的外观,可以使用 noise() 方法或 perl ... -
AS3优化化:mip映射
2012-03-18 13:16 1076原文来自:http://help.adob ... -
as3.0 滚动位图
2012-03-18 13:13 1334设想您创建了一个街道图应用程序,每次用户移动该图时,都需要您更 ... -
AS3游戏开发线路图
2012-03-07 18:48 897Flash 游戏开发需要掌握的知识结构。 -
AS3基础:圆周运动(2)
2012-03-07 18:18 1005package { import flash. ... -
AS3基础:圆周运动
2012-03-07 17:57 1313package { import flash.dis ... -
AS3基础:图片绕中心点旋转(Matrix)
2012-03-07 17:23 6334接上一篇: package { impor ... -
AS3基础:图片绕中心点旋转
2012-03-07 16:15 5453在flex中,roation是以注册点为中心的,而一般我们的 ... -
AS3基础:图片处理
2012-03-06 20:17 6利用bitamapData ...
相关推荐
snap7连接PLCpython工程实例 使用语言:python 主要功能:需要安装snap7,命令: pip install python-snap7 包含连接、读取、写入命令等 适合人群:新手及有一定经验的开发人员
步骤1:前往 步骤2:注册步骤3:前往 步骤4:搜索并选择Ubuntu Server 18.04 LTS 第5步:“创建” 步骤6:遵循以下参数: 参数 初始详细信息: 订阅:Azure订阅1 资源组:XMR 实例详细信息: 虚拟机名称XMRrig ...
3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表...
3),例如:在一个外部表中导入数据,由于某些原因第一次只导入了一部分,但很难判断具体位置,这样只有在下一次全部导入,这样也就产生好多重复的字段,怎样删除重复字段 alter table tablename --添加一个自增列 ...
3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表...
如果您的计算机已安装 SQL Server 2000 管理工具和 SQL Server Express 的默认实例,则可以使用 SQL Server 安装程序安装 SQL Server 2000 的默认实例。但是,这样做会禁用已安装的 SQL Server Express 实例。因此,...
介绍 观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对...JS里对观察者模式的实现是通过回调来实现的,我们来先定义一个pubsub对象,其内部包含了3个方法:订阅、退订、发布。 代码如下: var pubsu
本文实例讲述了ES6 javascript的异步操作。分享给大家供大家参考,具体如下: 异步编程对 JavaScript 语言太重要。 Javascript 语言的执行环境是“ 单线程” 的, 如果没有异步编程, 根本没法用, 非卡死不可。 ES6...
本文实例讲述了javascript设计模式 – 观察者模式原理与用法。分享给大家供大家参考,具体如下: 介绍:前面我们针对系统内一对多,多对多的情况做了解决方案,是使用中介者模式,将所有关联关系交由中介者处理。这...
2012-08-20 14:43:21| 分类: asp.net|举报|字号 订阅 首先定义一个hashtable Dim hstl As New Hashtable hstl.Add(key, value) 'java是用.put MS开始全面模仿java 这说说vb.net中的hashtable基本用法: 添加...
值作为更新的提供,可以根据需要在整个应用程序中进行订阅。例子在下面的内容中,我们将展示伪造Database的注入。 这里的想法是,如果有关数据库连接的某些信息发生更改,则会创建一个新的Database实例并导致应用...
数据库 2010-07-27 11:14:26 阅读201 评论0 字号:大中小 订阅 近日在巨轮着手车间负荷数据处理,反馈回来的数据是保存在Excel文件中的,我必须将其导入SQL Server2005中,供存储过程计算。 由于之前没有将Excel...
2.4 类型的分类 37 2.4.1 值类型 37 2.4.2 引用类型 37 2.5 可空修饰符 38 2.6 数据类型之间的转换 39 2.6.1 显式转型 39 2.6.2 隐式转型 41 2.6.3 不使用转型操作符的类型转换 42 ...
启动时,beygir 订阅 redis pubsub 频道,这些频道会将任务排入队列。 安装 beygir 在 npm 中可用 $ npm install beygir 快速开始 通过要求包实例化 beygir var beygir = require ( 'beygir' ) ; 然后通过使用...
除了详细地讲解C#知识点外,本书还提供了大量的实例,供读者实战演练。本书共分三篇。第一篇是C#概述篇,主要介绍的是Visual Studio 2012的开发环境及搭建。第二篇是面向对象基础篇,主要介绍类、对象、字段、方法、...
饲料过滤和分类启用此扩展程序/脚本后,将... 高级设置管理(从/链接导入其他订阅,在所有浏览器实例之间同步设置)。 调整页面(添加按钮以在新选项卡中打开文章,标记为已读/未读,...)。 添加着色规则以突出显示标
10.1.2 创建数组实例 172 10.1.3 初始化数组变量 173 10.1.4 创建隐式类型的数组 173 10.1.5 访问单独的数组元素 174 10.1.6 遍历数组 175 10.1.7 复制数组 176 10.1.8 使用多维数组 177 10.1.9 使用数组来...
Javascript自定义事件,其本质就是观察者模式(又称订阅/发布模式),它的好处就是将绑定事件和触发事件相互隔离开,并且可以动态的添加、删除事件。 下面通过实例,一步一步构建一个具体的Javascript自定义事件对象...
订阅及取消订阅事件 265 发行符合 .NET Framework 方针的事件 267 在衍生类别中引发基类事件 271 实作界面事件 276 使用字典储存事件实例 280 实作自定义事件存取子 283 泛型 284 泛型简介 285 泛型的优点 287 泛型...
本文实例讲述了原生javascript实现类似vue的数据绑定功能。分享给大家供大家参考,具体如下: 观察者模式 let observer = { /*订阅功能*/ addSubscriber: function (cb) { this.subscribers.push(cb); }, /*...