- 浏览: 340434 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
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 1274要启用FlashPlayer11中的h.264编码需要导入以下 ... -
AS3实例:框选对象
2012-04-08 11:21 1708代码: package { ... -
AS3图形基础:画虚线矩形框
2012-04-07 19:39 3443画虚线矩形框的需求常常都有,虽然API里没有提供现成的线条样式 ... -
Flash Player 11.3和Adobe AIR3.3新特性
2012-04-06 12:55 1753转自:http://riaoo.com/?p=23 ... -
AS3运动学基础-正弦运动2
2012-04-05 15:08 1300package { import flash. ... -
AS3运动学基础-正弦运动
2012-04-05 14:53 1289package { import flash. ... -
AS3进阶:利用缓冲池显示图片
2012-04-01 16:52 3175无论是开发游戏,还是普通的应用,熟悉bitmapdata类的用 ... -
FLASH BUILDER 4.6 序列号+ 破解
2012-03-27 14:47 78011424-4938-3077-5736-3940-5640 1 ... -
Flash Builder 4 安装提示“安装程序检测到计算机重新启动操作可能处于挂起状态“的解...
2012-03-27 14:06 28841.运行 regedit 打开注册表编辑器。 2.依次展开H ... -
BOX2D基础知识
2012-03-20 17:49 1<!DOCTYPE html PUBLIC " ... -
BOX2D深入浅出1:Hello World Box2D .
2012-03-19 11:36 1833最近工作需要,在研究BOX2D FLASH物理引擎,在9RIA ... -
使用杂点功能制作纹理
2012-03-18 13:19 1014若要修改位图的外观,可以使用 noise() 方法或 perl ... -
AS3优化化:mip映射
2012-03-18 13:16 1105原文来自:http://help.adob ... -
as3.0 滚动位图
2012-03-18 13:13 1375设想您创建了一个街道图应用程序,每次用户移动该图时,都需要您更 ... -
AS3游戏开发线路图
2012-03-07 18:48 935Flash 游戏开发需要掌握的知识结构。 -
AS3基础:圆周运动(2)
2012-03-07 18:18 1048package { import flash. ... -
AS3基础:圆周运动
2012-03-07 17:57 1357package { import flash.dis ... -
AS3基础:图片绕中心点旋转(Matrix)
2012-03-07 17:23 6385接上一篇: package { impor ... -
AS3基础:图片绕中心点旋转
2012-03-07 16:15 5499在flex中,roation是以注册点为中心的,而一般我们的 ... -
AS3基础:图片处理
2012-03-06 20:17 6利用bitamapData ...
相关推荐
ActionScript 3(AS3)是Adobe Flash平台的主要编程语言,它也广泛应用于富互联网应用(RIA)的开发。在AS3中理解和应用设计模式,能提升代码的可读性、可维护性和可扩展性。以下将详细介绍这23种设计模式,并结合AS...
综上所述,Flash AS3 Rss项目涵盖了从网络加载数据、解析XML、设计用户界面到实现动态效果等多个方面,是AS3开发中的一个综合性实例。通过这样的项目,开发者可以学习和掌握多种实用的编程和设计技巧。
【时钟MVC】是一个基于ActionScript 3 (AS3) 实现的简单时钟应用程序,采用模型-视图-控制器(MVC)设计模式。这个项目对于初学者理解MVC架构及其在AS3中的应用非常有帮助。下面将详细解释MVC模式以及在AS3中的实现...
SaaS(Software as a Service,软件即服务)是一种云计算模型,它提供了通过互联网访问和使用的软件应用。本课程聚焦于SaaS的实际应用场景,旨在深入理解SaaS如何在不同行业中发挥效能。以下是关于SaaS的详细知识点...
3. **观察者模式**:模型组件通过观察者模式发布通知,使得其他组件可以订阅并响应这些变化。 4. **命令模式**:Controller使用命令模式处理事件,每个命令都是一个单独的类,降低了代码耦合度。 5. **简单易用**:...
《PureMVC AS3 开发资料详解》 PureMVC AS3 是一款强大的、轻量级的、基于观察者模式的MVC(Model-View-Controller)框架,它专为Adobe ActionScript 3 (AS3) 设计。该框架旨在提供一种结构化的编程方式,使开发...
PureMVC是用AS3编写的轻量级框架,它将业务逻辑、用户界面和应用数据分离,以提高代码的可重用性和可测试性。它提供了一组抽象接口,包括Model、View和Controller,以及它们之间的协调器(Mediator)、观察者...
snap7连接PLCpython工程实例 使用语言:python 主要功能:需要安装snap7,命令: pip install python-snap7 包含连接、读取、写入命令等 适合人群:新手及有一定经验的开发人员
**SaaS软件即服务系列课程(3):SaaS在企业中的应用** SaaS(Software as a Service)是一种云计算模型,它将软件应用程序作为一种服务提供给用户,通过互联网进行访问和使用,而不是传统意义上的本地安装。这个系列...
3. **发布事件**:当需要广播事件时,只需要调用`publish`方法,传入创建的事件实例。事件总线会自动找到所有订阅了该事件的订阅者并执行它们的回调。 ```swift func performLogin() { // 登录逻辑... let ...
总结起来,这个"websocket-server"项目是一个利用Spring Boot集成WebSocket技术的实例,展示了如何在服务端实现主动推送数据到前端的功能。通过理解并实践该项目,开发者可以深入掌握WebSocket的使用,以及如何在...
在“asny.rar_c# asny_winform”项目中,我们看到的是一个关于C# Winform异步操作的实例,利用Visual Studio 2008进行开发。这个实例可能包含两个主要部分:asnyServer和asnyClient,分别代表服务器端和服务客户端的...
### EJB 3.0 实例教程:深入解析与实践指南 #### 一、引言:EJB 3.0 的重要性与适用人群 EJB(Enterprise JavaBeans)是Java平台上的服务器端组件模型,它允许开发者创建可重用的企业级应用程序组件。EJB 3.0作为...
Portlets是Oracle9iAS Portal的一大特色,它们是可重用的、自包含的小型Web应用,可以嵌入到门户页面中,提供各种功能,如新闻订阅、日历管理、搜索等。开发者可以使用JavaServer Pages (JSP)、Java Servlets或Web ...
步骤1:前往 步骤2:注册步骤3:前往 步骤4:搜索并选择Ubuntu Server 18.04 LTS 第5步:“创建” 步骤6:遵循以下参数: 参数 初始详细信息: 订阅:Azure订阅1 资源组:XMR 实例详细信息: 虚拟机名称XMRrig ...
同时,EDNA SDK可能还包括其他高级功能,如数据订阅、实时数据流处理等,开发者可以根据需求进一步学习和利用。 在实际项目中,开发者通常需要结合VB的控件和窗体设计,创建用户友好的界面,使用户能够直观地查看、...
3. **Messaging**:BlazeDS支持发布/订阅模型的消息传递,使客户端能实时接收服务器推送的数据更新,实现事件驱动的通信。 4. **数据管理**:通过使用Flex Data Services,可以轻松地在Flex客户端和Java应用之间...
在“消息中心应用实例”中,我们将探讨如何利用消息中心来实现在不同视图之间的平滑切换,从而简化视图间的依赖关系,提高代码的可维护性和可扩展性。 首先,消息中心(NSNotificationCenter)是Foundation框架的一...
3. **实现EventBus类**:EventBus类将负责事件的发布和订阅。它通常包含两个主要方法:`Subscribe<T>`和`Publish<T>`,分别用于订阅和发布事件。 ```csharp public class EventBus { private readonly Dictionary,...
- **主题消息**:基于发布/订阅(Pub/Sub)的消息传递模型。 #### 六、实体Bean (Entity Bean) - **持久化配置**:`persistence.xml`文件是EJB 3.0实体Bean的重要配置文件之一,用于指定持久化单元。 - **数据源...