- 浏览: 580596 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
smilezhouwei:
请问CruiseControl在加载jar包时,由于jar包过 ...
修改CruiseControl的端口 -
zengxuefei:
不起作用啊,有bug
Flex+Java多文件上传 -
lzeus:
模仿的tomcat源码吧?
java事件处理机制(自定义事件)【转】 -
yangbobestone:
...
FreeMarker整合Struts2 -
fddjxllren:
那是因为你没配置事务,楼主的那个主要是针对事务的写法
Spring2.5+JUnit4单元测试
ActionScript 3.0 自写类整理笔记(十三)——Random类
转载http://www.xiaos8.com/article.asp?id=122
代码
package index.base.func{ public final class Random{ public function Random(){ throw new Error("随机函数工具包无法实例化!"); } //获取一个随机的布尔值 public static function get boolean():Boolean{ return Math.random() < 0.5; } //获取一个正负波动值 public static function get wave():int{ return boolean ? 1 : -1; } //获取一个随机的范围整数值 public static function integer(num:Number):int{ return Math.floor(number(num)); } //获取一个随机的范围Number值 public static function number(num:Number):Number{ return Math.random() * num; } //在一个范围内获取一个随机值,返回结果范围:num1 >= num > num2 public static function range(num1:Number,num2:Number,isInt:Boolean = true):Number{ var num:Number = number(num2 - num1) + num1; if(isInt) num = Math.floor(num); return num; } //在多个范围获取随机值 public static function ranges(...args):Number{ var isInt:Boolean = args[args.length - 1] is Boolean ? args.pop() : true; var num:Number = randomRange(args); if(!isInt) num += Math.random(); return num; } //获取一个随机字符,默认随机范围为数字+大小写字母,也可以指定范围,格式:a-z,A-H,5-9 public static function string(str:String = "0-9,A-Z,a-z"):String{ return String.fromCharCode(randomRange(explain(str))); } //生成指定位数的随机字符串 public static function bit(num:int,str:String = "0-9,A-Z,a-z"):String{ var reStr:String = ""; for(var i:int = 0; i < num; i ++) reStr += string(str); return reStr; } //获取一个随机的颜色值 public static function color(red:String = "0-255",green:String = "0-255",blue:String = "0-255"):uint{ return Number("0x" + transform(randomRange(explain(red,false))) + transform(randomRange(explain(green,false))) + transform(randomRange(explain(blue,false)))); } //将10进制的RGB色转换为2位的16进制 private static function transform(num:uint):String{ var reStr:String = num.toString(16); if(reStr.length != 2) reStr = "0" + reStr; return reStr; } //字符串解析 private static function explain(str:String,isCodeAt:Boolean = true):Array{ var argAr:Array = new Array; var tmpAr:Array = str.split(","); for(var i:int = 0; i < tmpAr.length; i ++){ var ar:Array = tmpAr[i].split("-"); if(ar.length == 2){ var arPush0:String = ar[0]; var arPush1:String = ar[1]; if(isCodeAt){ arPush0 = arPush0.charCodeAt().toString(); arPush1 = arPush1.charCodeAt().toString(); } //此处如果不加1,将不会随机ar[1]所表示字符,因此需要加上1,随机范围才是对的 argAr.push(Number(arPush0),Number(arPush1) + 1); }else if(ar.length == 1){ var arPush:String = ar[0]; if(isCodeAt) arPush = arPush.charCodeAt().toString(); //如果范围是1-2,那么整型随机必定是1,因此拿出第一个参数后,把范围定在参数+1,则就是让该参数参加随机 argAr.push(Number(arPush),Number(arPush) + 1); } ar = null; } tmpAr = null; return argAr; } //获取随机范围 private static function randomRange(ar:Array):Number{ var tmpAr:Array = new Array; var length:int = ar.length; if(length % 2 != 0 || length == 0) throw new Error("参数错误!无法获取指定范围!"); //将所有可能出现的随机数存入数组,然后进行随机 for(var i:int = 0; i < length / 2; i ++){ var i1:int = ar[i * 2]; var i2:int = ar[i * 2 + 1]; if(i1 > i2){ var tmp:Number = i1; i1 = i2; i2 = tmp; } for(i1; i1 < i2; i1 ++) tmpAr.push(i1); } var num:Number = tmpAr[integer(tmpAr.length)]; tmpAr = null; ar = null; return num; } } }
举例
import index.base.func.Random; trace(Random.boolean+"(随机一个布尔值)"); trace(Random.color()+"(随机一个RGB颜色值)"); trace(Random.color("153-255","0-100","0-100")+"(随机一个偏红的RGB颜色值)"); trace(Random.wave+"(随机一个波动值)"); trace(Random.string()+"(随机一个字符)"); trace(Random.integer(4)+"(随机一个int值)"); trace(Random.number(4)+"(随机一个Number值)"); trace(Random.string("a-z,A-Z")+"(在一个范围随机字符)"); trace(Random.string("我,你,他")+"(在一个范围随机中文字符)"); trace(Random.ranges(5,4,3,-1,-10,-14,true)+"(在多个指定范围随机数值)"); trace(Random.range(4,9)+"(在一个指定范围随机数值)"); trace(Random.bit(8)+"(随机一个八位的字符串)"); trace(Random.bit(16,"0-1")+"(随机一个十六位的二进制)"); trace("…………") //生成一个偏红的颜色色块 var sh:Shape = new Shape(); var rgb:uint = Random.color("204-255","0-153","0-153"); trace(rgb1.toString(16)); sh.graphics.beginFill(rgb); sh.graphics.drawRect(100,100,100,100); addChild(sh); //生成一个颜色偏深或者偏淡的颜色色块 var sh1:Shape = new Shape(); var rgb1:uint = Random.color("0-20,240-255","0-20,240-255","0-20,240-255"); trace(rgb1.toString(16)); sh1.graphics.beginFill(rgb1); sh1.graphics.drawRect(200,100,100,100); addChild(sh1); /** * 输出: * false(随机一个布尔值) * 8370486(随机一个RGB颜色值) * 12322387(随机一个偏红的RGB颜色值) * -1(随机一个波动值) * E(随机一个字符) * 3(随机一个int值) * 1.0007172282785177(随机一个Number值) * m(在一个范围随机字符) * 我(在一个范围随机中文字符) * -14(在多个指定范围随机数值) * 5(在一个指定范围随机数值) * idPJav1l(随机一个八位的字符串) * 1010100101010100(随机一个十六位的二进制) * ………… * dd5506 * fef003 */
发表评论
-
AS3 条件编译
2013-06-07 09:38 1308转:http://www.lite3.cn/blog/?p= ... -
TextField没有buttonMode的方法..
2010-12-10 16:28 2300TextField没有buttonMode的方法..不过由于T ... -
ActionScript 处理html超级链接
2010-12-09 11:14 2128ActionScript 处理html超级链接 p ... -
通过代理传参数
2010-07-02 11:43 1391通过代理传参数 package com.xlands.uti ... -
ArrayUtils
2010-07-02 11:36 1502/* Copyright aswing.org, s ... -
将数组随机排序后返回
2010-06-30 16:40 1819将数组随机排序后返回 方法一 /** * ... -
AS类中跳转
2010-06-29 10:22 1799AS类中跳转 navigate ... -
Flash与Javascript交互时可用ExternalInterface类
2010-06-29 10:17 3648Flash与Javascript交互时可用ExternalIn ... -
转载:[as hack技术]垃圾回收机强制执行
2010-06-29 09:47 1430转载:[as hack技术]垃圾回收机强制执行 http:// ... -
Flash中所支持的Html标签
2010-06-24 17:21 1367Flash中所支持的Html标签 ... -
navigateToURL()
2010-06-22 15:27 2493navigateToURL() public fun ... -
ActionScript中Http请求
2010-06-19 09:42 3074ActionScript中Http请求 因我是用MVC模式来 ... -
ActionScript字符串工具
2010-06-04 09:44 3263ActionScript字符串工具 package c ... -
加载外部SWF文件
2010-05-22 15:43 1359加载外部SWF文件 package mytest.dt { ... -
AsWing+Java上传文件
2010-05-11 09:16 1749AsWing+Java上传文件 UI是用AsWing实现比较 ... -
A*最最基础的非常非常好的寻路教程!
2010-05-08 10:01 2007最最基础的非常非常好 ... -
JTable单元格偏移
2010-05-07 11:15 1357如果Frame中有个表格JTable,且允许双击单元格编辑,那 ... -
ActionScript中日期正则表达式
2010-04-27 18:24 1270这里是判断YYYY-MM-DD这种格式的,基本上把闰年和 ... -
AS中使用JSON
2010-04-26 09:15 2993要使用json作为数据交换格式。需引入corelib Acti ... -
invalidateDisplayList
2010-03-31 14:39 1914当多次改变控件的某些属性(如 高,宽,数据)后,调用该方法以便 ...
相关推荐
第1篇 ActionScript3.0语言基础 第1章 ActionScript3.0概述 第2章 搭建ActionScript3.0开发环境 第3章 ActionScript3.0语法 第2篇 ActionScript3.0面向对象特性 第4章 ActionScript3.0面向对象编程 第...
第6~9章介绍了ActionScript 3.0的核心——类及以类为基础的面向对象程序设计方法,包括类的基本概念、ActionScript 3.0中常用类的使用、显示编程和组件类;第10、11章分别介绍了几个ActionScript 3.0实际应用的范例...
《ActionScript 3.0 语言和组件参考》概述 《ActionScript 3.0 语言参考》是 Flash® Player 和 Adobe AIR™ 应用程序编程接口 (API) 的参考手册。 此版本包括支持 Adobe AIR 运行时环境的新 ActionScript 类、...
actionscript3.0开发的进度显示条项目
《精通Flex 3.0——基于ActionScript 3.0实现》一书源代码。 Flex 3.0 ActionScript 3.0源代码 Flex 3.0源代码。 --------------------------- 第1篇 Flex技术概述 第1章 Flex概述 3 1.1 Flex简介 3 1.2 Flex...
最专业的最专业的最专业的ActionScript 3.0 ActionScript 3.0 ActionScript 3.0 ActionScript 3.0 ActionScript 3.0
本书详细地介绍了 actionscript 3.0的基础知识,包括 actionscript 3.0语言、actionscript 3.0对象的操作方法、显示列表的使用、事件模型、加载外部素材、可视化编程以及利用声音和视频增强应用程序等方面的知识,并...
ActionScript3.0 中文版 ActionScript3.0 api 中文版说明文档
Actionscript3.0自带函数集(顶级函数)
第6~9章介绍了ActionScript 3.0的核心——类及以类为基础的面向对象程序设计方法,包括类的基本概念、ActionScript 3.0中常用类的使用、显示编程和组件类;第10、11章分别介绍了几个ActionScript 3.0实际应用的范例...
ActionScript 是针对 Adobe Flash Player 运行时环境的编程语言,它在 Flash 内容和应用 程序中实现了交互性、数据处理以及其它许多功能。 ActionScript 是由 Flash Player 中的 ActionScript 虚拟机 (AVM) 来执行的...
ActionScript 3.0 语言和组件参考概述Adobe Flex 2 语言参考ActionScript 3.0 语言和组件参考是适用于 Flash® Player 应用程序编程接口 (API) 的参考手册。 Adobe Flex 2 语言参考ActionScript 3.0 语言和组件...
Foundation ActionScript 3.0 Animation Making Things Move ActionScript 3.0
ActionScript3.0完全自学手册电子教案
最初他是一个ActionScript 2.0版本的引擎,后来被移植到ActionScript 3.0,现在两个版本都有。实际上,Tweener至少部分是基于更早的一款ActionScript 1.0引擎MC Tween开发的,它发布于2003年。Tweener最初由Zeh ...
《ActionScript 3.0 语言和组件参考》概述《ActionScript 3.0 语言参考》是 Flash® Player 和 Adobe AIR™ 应用程序编程接口 (API) 的参考手册。 此版本包括支持 Adobe AIR 运行时环境的新 ActionScript 类、方法...
用ActionScript 3.0动态绘制正弦曲线,附带源文件(包括一个.fla文件、一个.as文件、一个.swf文件)
ActionScript3.0cookbook中文版 ActionScript3.0cookbook中文版 ActionScript3.0cookbook中文版