- 浏览: 32812 次
- 性别:
- 来自: 上海
最近访客 更多访客>>
最新评论
-
myjave:
哦 是我搞错了这个怎么使用
ArtDigit 艺术数字类 -
myjave:
这个类拷贝靠flash里报错
ArtDigit 艺术数字类
此类主要用于使用动画元件来显示对应的数字,并支持数字缓冲滚动显示功能!并有比较成熟的资源数字样式显示管理功能
package game.assist.view { import com.greensock.TweenMax; import flash.display.MovieClip; import game.net.File; import game.collection.HashMap; import flash.display.Sprite; /** * ArtDigit 艺术数字 * @author Kinglong * @since 2012-7-26 */ public class ArtDigit extends Sprite { /** * 资源路径 */ public static var resourcePath : String = ""; /** * 资源列表 */ private static const resourceMap : HashMap = new HashMap(); /** * 回调列表 */ private static const callbackList : Vector.<Function> = new Vector.<Function>(); /** * 字符转成帧号 * @param chat 字符 */ private static function charToFrame(chat : String) : int { switch(chat) { case "-": return 11; case "+": return 12; } return int(chat) + 1; } /** * 改变回调 */ public var onChange : Function = new Function(); /** * 是否初始化 */ private var _inited : Boolean; /** * 资源是否加载 */ private var _loaded : Boolean; /** * 数字样式 */ private var _style : String; /** * 数值 */ private var _value : int; /** * 数值字符 */ private var _chars : String; /** * 加号是否显示 */ private var _addSymbolVisible : Boolean; /** * 数字列表 */ private var _numberList : Array; /** * 间隔 */ private var _spacing : int; /** * 样式类 */ private var _styleClass : Class; /** * 缓冲对象 */ private var _vo : TweenVO; /** * 构造 * @param style 样式 */ public function ArtDigit(style : String = null) { _inited = false; _loaded = false; if (style) { init(style); } _value = 0; _spacing = 2; _chars = ""; _numberList = []; _vo = new TweenVO(); _addSymbolVisible = false; mouseChildren = false; mouseEnabled = false; } /** * 初始化 * @param style 样式 */ public function init(style : String) : void { if (inited) { return; } _style = style; if (!resourceMap.containsKey(style)) { loadStyle(); } else if (resourceMap.get(style) is File) { callbackList.push(updateStyle); } else { updateStyle(); } _inited = true; } /** * 加载样式 */ private function loadStyle() : void { var url : String = resourcePath + style + ".swf"; var file : File = new File(); resourceMap.put(style, file); callbackList.push(updateStyle); file.onComplete = function() : void { resourceMap.put(style, file.getClassByName("Style")); for each (var func:Function in callbackList) { if (func != null) { func(); } } callbackList.length = 0; }; file.load(url); } /** * 更新样式 */ private function updateStyle() : void { _styleClass = resourceMap.get(style); _loaded = true; this.value = value; } /** * 加号是否显示 */ public function set addSymbolVisible(value : Boolean) : void { _addSymbolVisible = value; render(this.value); } /** * 数值 */ public function set value(num : int) : void { _value = num; TweenMax.killTweensOf(_vo); _vo.value = num; render(num); } public function get value() : int { return _value; } /** * 缓动到指定数值 * @param num 指定数值 */ public function tweenTo(num : int) : void { if (!loaded) { value = num; return; } TweenMax.to(_vo, 0.8, {value:num, onUpdate:tweenUpdateHandler}); } /** * 缓动更新处理 */ private function tweenUpdateHandler() : void { render(_vo.value); } /** * 数字间隔 */ public function set spacing(value : int) : void { if (_spacing == value) { return; } _spacing = value; _chars = ""; render(value); } public function get spacing() : int { return _spacing; } /** * 渲染 * @param num 数值 */ private function render(num : int) : void { if (!loaded) { return; } var str : String = new String(num); if (num > 0 && _addSymbolVisible) { str = "+" + str; } if (_chars == str) { return; } _chars = str; renderStyle(); onChange(); } /** * 渲染数字样式 */ private function renderStyle() : void { var i : int; var mc : MovieClip; var len : int = Math.max(_numberList.length, _chars.length); var dx : int = 0; for (i = 0; i < len; i++) { if (i >= _numberList.length) { mc = new _styleClass(); mc.stop(); _numberList.push(mc); } if (i < _chars.length) { mc = _numberList[i]; if (!contains(mc)) { addChild(mc); } mc.gotoAndStop(charToFrame(_chars.charAt(i))); mc.y = 0; mc.x = dx; dx += mc.width + spacing; } if (i >= _chars.length) { mc = _numberList[i]; if (contains(mc)) { removeChild(mc); } } } if (_numberList.length > _chars.length) { } else if (_numberList.length < _chars.length) { for (i = _numberList.length; i < _chars.length; i++) { mc = new _styleClass(); mc.stop(); addChild(mc); _numberList.push(mc); } } } /** * 当前样式 */ public function get style() : String { return _style; } /** * 是否初始化 */ public function get inited() : Boolean { return _inited; } /** * 样式是否加载 */ public function get loaded() : Boolean { return _inited && _loaded; } /** * 移动 */ public function move(x : int, y : int) : void { this.x = x; this.y = y; } /** * 销毁 */ public function dispose() : void { TweenMax.killTweensOf(_vo); for each (var mc : MovieClip in _numberList) { mc.stop(); if (contains(mc)) { removeChild(mc); } } _numberList = null; var index : int = callbackList.indexOf(updateStyle); if (index != -1) { callbackList.splice(index, 1); } } } } class TweenVO { public var value : int = 0; }
发表评论
-
Cookie类第三版
2012-07-28 00:01 944针对原来Cookie类使用起来不太方便,去掉用不上的冗余方法, ... -
位图工具BitmapDataUtil类-getImageMapVector方法演示
2012-07-27 15:35 0今天把BitmapDataUtil工具类中的getImageM ... -
位图工具BitmapDataUtil类-getRealImageRect方法演示
2012-07-28 00:02 1104位图是flash众多类,使用很频繁的一个,我这边根据自己的实际 ... -
flash动画编程学习研究-机器人传球演示
2012-07-27 15:31 995这几天在看Keith Peters的书《Foundation ... -
排序算法演示
2012-07-28 00:01 946下面是排序算法演示程序,比较直观显示排序算法运行规律 该演 ... -
常用数据集合类-Map,Queue,Stack,Collection,List,Set
2012-07-28 00:01 1164之前写过一次有关常用数据集合类,但今天简单回顾了一下, ... -
Flash算法-摆动算法
2012-07-27 15:22 1325[代码] package com.klstudio.algor ... -
Flash游戏-SlidingPuzzle滑块拼图游戏
2012-07-27 15:18 915最近在研究Flash游戏的算法,发现同一种游戏能有很多种算法, ... -
优化Flash平台的性能(Adobe提供)
2012-07-27 15:13 907今正好看到了“优化Flash平台的性能&a ... -
AS3版Flash Remoting客户端类-Service类
2012-07-27 15:10 1451AS3版Flash Remoting客户端类-Service类 ... -
[AS3]URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存
2007-08-18 15:56 1700[AS3]URLLoader+URLRequest+JPGEn ... -
[AS3]FLVStream类-检测flv文件类型的工具类
2007-08-06 09:20 614[AS3]FLVStream类-检测flv文件类型的工具类 ... -
[AS3]Flash在线图片编辑器
2007-07-24 06:39 5032[AS3]Flash在线图片编辑器 进行二个星期,终于把 ... -
[AS3]更新Tracer组件并公布控制台源程序
2007-07-23 02:42 335此次更新版本到1.2,修正一些对象的显示Bug; 由于原来 ... -
[AS3]Tracer-Flash代码调试类
2007-07-19 11:01 533[AS3]Tracer-Flash代码调试类【组件版本】:1. ... -
[AS1]三帧代码实现图片轮换显示
2007-07-08 02:08 508[AS1]三帧代码实现图片轮换显示本来这段代码是写给我的一个网 ... -
[AS3]IconDataManager-图标数据管理类
2007-07-06 08:00 386[AS3]IconDataManager-图标数据管理类【功能 ... -
有关“Flash在线图片编辑”功能的开发进度1
2007-07-03 10:30 2139有关“Flash在线图片编辑”功能的开发进度1 实现在线对 ... -
[AS3]DisplayEffect组件
2007-06-28 08:08 407[AS3]DisplayEffect组件【组件版本】:0.5【 ... -
[AS3]ImageEffect组件版本更新
2007-06-27 15:16 418[AS3]ImageEffect组件版本更新 【组件版本】 ...
相关推荐
《数字媒体艺术概论》一书探讨了在20世纪90年代以来,随着电脑普及和网络技术的快速发展,数字媒体艺术如何成为一个新兴且重要的艺术形式。数字媒体艺术的出现,打破了传统艺术创作的边界,艺术家们不再局限于传统的...
【数字媒体艺术考试知识点】 数字媒体艺术是一门融合了艺术、技术与创新的综合性学科,主要涉及数字技术在视觉艺术中的应用。以下是一些在数字媒体艺术考试中可能遇到的知识点: 1. **创意表达**:无论是故事编讲...
由于数字媒体艺术专业在我国艺术类高校或者综合类艺术学校及职业学校教学学校起步晚,发展还不够成熟,这就造成课程体系不够明确,高校师资力量不足,学生就业不对口等诸多问题。CDIO 人才培养模式恰恰适合技术性与...
关键词“支持向量机”、“二叉树多类分类算法”和“图像艺术属性”贯穿了整个研究过程,指导了研究的方向和方法,突出了研究的核心内容。中图分类号TP391、文献标识码A以及文章编号***(2009)***均为本研究文献的重要...
数字媒体艺术是一种结合了数字技术和艺术表达的新型艺术形式,它在21世纪的快速发展中已经深深地改变了艺术创作的面貌。这个领域不仅涉及到视觉艺术,如动漫设计,还涵盖了音乐、电影、交互设计等多个方面。数字媒体...
《数字媒体艺术创作的探索与应用》 数字媒体艺术,作为一种新兴的艺术表现形式,已经在全球范围内引起了广泛关注。它结合了科技与艺术,以其独特的魅力拓宽了艺术创作的边界。在中国,数字媒体艺术创作正处于快速...
数字媒体艺术是一门新兴的艺术门类,它在传统艺术的基础上融入了数字化技术,成为一种时代发展的标志。随着计算机技术、互联网技术和多媒体技术的迅猛发展,数字媒体艺术以崭新的面貌和表现形式,为艺术创作带来了...
数字媒体艺术作为当今时代最具创新精神和前瞻性的专业领域之一,正以迅猛的发展态势改变着我们接收信息和娱乐的方式。它不仅仅是一种新的艺术表现形式,更是一种集合了高科技与创意设计思维的全新领域,这一领域的...
数字媒体艺术专业是新专业,相信大家都数字媒体艺术有自己的展望未来观点。。
在当前的数字化时代,艺术与科技的融合催生了一系列优秀的艺术类APP,为用户提供了丰富的艺术体验。本文将针对编辑精选的三款艺术类APP——《涂手》、《全历史》和《余音》进行详细解析,探讨它们各自的特点、功能...
《数字媒体艺术概论》课程第五章 数字艺术与文化创意产业(2015) 课程PPT 《数字媒体艺术概论》课程第五章 数字艺术与文化创意产业(2015) 课程PPT 《数字媒体艺术概论》课程第五章 数字艺术与文化创意产业(2015) ...
【摘要】:本文探讨了数字艺术类开放课程建设中信息化技术的应用策略,旨在为相关专业课程改革提供指导。文章从改革策略、实施措施和教学成效三个方面分析了信息化技术在数字艺术教学中的作用,并以《游戏原画设计》...
人工智能对数字媒体艺术实践的影响.pdf
《数字媒体艺术概论》课程第一章 数字媒体艺术理论概述 课程PPTT
《重构美学:数字媒体艺术本性》数字媒体艺术美学是一个全新的美学研究领域,它具有我们时代的鲜明特征,又同时包蕴着源远流长的艺术传统和美学传统,作为国家教育部“十五”规划的“211二期工程”科研项目,一方面...
数字艺术是21世纪文化艺术领域的一大创新,它以高速发展的科技为支撑,借助数字技术、信息技术,改变了传统艺术的创作方式和审美体验。数字艺术不仅为艺术家提供了全新的表现空间,还对文化艺术的传承产生了深远影响...
数字艺术品铸造交易平台NFT交易商城类鲸探类唯艺术
在21世纪的知识经济时代,数字艺术设计已成为核心产业之一。它突破了传统艺术形式的界限,将艺术设计与计算机技术紧密结合,开辟了全新的艺术表达渠道。数字艺术设计不仅包含数字绘画、平面设计、出版物设计等传统...
随着数字时代的到来,数字艺术设计已然成为21世纪知识经济的重要推动力。这一领域将艺术创新与计算机技术紧密结合,颠覆了传统艺术设计的框架和表现形式。数字艺术设计的范畴包罗万象,从数字绘画到平面设计,再到...
随着人工智能技术的发展,其在数字媒体艺术实践中的应用越来越广泛,其关系也日益密切。人工智能技术不仅在图像识别、语音识别、艺术创作等传统领域取得了显著进展,还在其他方面展现出了商业化潜力。以下是关于人工...