
AS3
文章平均质量分 60
fengsser
这个作者很懒,什么都没留下…
展开
-
A*寻路算法及在游戏中的应用
翻出了一个文档,很久以前学习A*时做的一个小游戏,基于帧编程,没用OOP 游戏地址:http://www.3366.com/game/77446.shtml 简介:原创 2012-12-17 16:34:05 · 2947 阅读 · 0 评论 -
IOErrorEvent 加载错误处理
在flash中提示这个错误是你的外载东西进来时找不到文件而报的错。其实在载入时加多一个IOErrorEvent的倾听就行了//Loader载入import flash.event.IOErrorEvent;Loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,IOErrorFun);function转载 2013-03-23 15:52:23 · 1476 阅读 · 0 评论 -
as3 注册字体
在fla中嵌入需要的字体以及文字,导出成swc或者swf,可以避免嵌入过多不必要的字符,节省空间。import flash.display.MovieClip; import flash.system.ApplicationDomain; import flash.text.Font; import flash.text.TextField; import flash.text原创 2013-09-09 23:39:10 · 1466 阅读 · 0 评论 -
AS3 随机排序
主要是两种方法, package { import flash.display.MovieClip; import flash.utils.Dictionary; public class Main extends MovieClip { public function Main() { var temp:Array = new Array();原创 2012-12-18 23:16:24 · 765 阅读 · 0 评论 -
as3使用滤镜为文字描边(GlowFilter)
import flash.text.TextField;import flash.filters.GlowFilter;var txt:TextField = new TextField();var filter:Array;txt.text = "白色文字黑色描边";txt.textColor = 0xffffff;filter = [new GlowFilter(0x000000,原创 2013-09-01 23:22:07 · 7604 阅读 · 0 评论 -
大规模网格形碰撞检测
题目:场景中有大小完全相同的100个正方体,且坐标一直在舞台内变化,请判断它们是否两两相撞。 先上效果图,用的网格型碰撞检测方法,参考了ActionScript3.0 高级动画教程 就是参考里面的做法。大概思路就是把屏幕分隔,根据坐标把物体放进不同的格子内,碰撞检测的时候遍历格子,首先进行格子内部物体的碰撞检测,然后检测格子内每个物体与周边格子物体的检测,至于周边之外的格子因为是碰撞不原创 2012-11-29 13:04:09 · 3687 阅读 · 0 评论 -
as3 xml 操作
初始化XML对象 XML对象可以代表一个XML元素、属性、注释、处理指令或文本元素。在ActionScript 3.0中我们可以直接将XML数据赋值给变量:var myXML:XML = burger 3.95 fries 1.45转载 2013-04-16 15:08:19 · 2155 阅读 · 0 评论 -
AS3 面试题35 在一个字符串中找出第一个只出现一次的字符
package{ /** * 题目 在一个字符串中找出第一个只出现一次的字符,如输入"abaccdeff" * */ import flash.display.Sprite; import flash.utils.Dictionary; public class Main extends Sprite { public function Main() { va原创 2013-11-13 00:14:20 · 1451 阅读 · 0 评论 -
AS3 面试3 二维数组中查找 递归版
package{ /** * 题目 在一个二位数组中,每一行都按照从左到右递增顺序排序,每一列都按照从上到下顺序排序,请完成一个函数,输入这样的一个二位数组和一个整数,判断数组中是否含有该整数 * */ import flash.display.Sprite; public class Main extends Sprite { public function Main(原创 2013-11-14 23:05:00 · 1366 阅读 · 0 评论 -
一本好书 Flash ActionScript 3.0高级动画教程
第一章 高级碰撞检测不规则图形的检测碰撞BitmapData.hitTest用于非位图大量对象的碰撞检测实现基于网格的碰撞检测编写网格代码测试并调整网格整理成类使用此类检测不只是为了碰撞总结第二章 转向行为行为2D向量(Vector2D)类机车(Vehicle)类转向机车(SteeredVehicle)类寻找行为避开行为原创 2012-11-27 11:55:59 · 2260 阅读 · 0 评论 -
网格算法-STG游戏弹幕检测思路
stg游戏场景上大概可以分为四种单位 : 1.我方战机 2.我方子弹 3.敌方战机 4.敌方子弹碰撞可以分为如下两种关系:1. 我方战机与地方单位(敌方战机,敌方子弹)的检测 2. 敌方战机与我方子弹的检测 检测思路:把屏幕分格,每次渲染前,遍历每个单位,根据其坐标位置,分配入不同的格子当中 1.检测 我方战机所占格子,判断这些格子中,敌方战机与敌方子弹,与我方战机是否原创 2014-03-30 14:47:26 · 3819 阅读 · 0 评论 -
<粗糙>单个粒子
package{ import com.Force; import com.Particle; import flash.display.Sprite; import flash.events.Event; public class Main extends Sprite { private var particles:Vector.; public funct原创 2013-12-16 13:03:41 · 757 阅读 · 0 评论 -
小游戏系列算法之三连连看算法及原理
游戏地址:http://www.3366.com/game/76549.shtml 地图索引的生成 /***********************************/crate map//*/function arrInit(arr:Array):void{ for(var i:int=0;i<row*column;i++){ arr[i]=0原创 2012-12-19 09:28:14 · 7613 阅读 · 2 评论 -
小游戏系列算法之二贪吃蛇算法原理
贪吃蛇是很常见的小游戏,大家都懂的就不介绍了。游戏算法非常简单。先看图: 显然这是一个贪吃蛇,红色是蛇蓝色是食物(= =)我们先来看看蛇的构造 可以看到,蛇其实是由1个1个正方体拼成的。每个正方体的左上角是他们的坐标。在程序中,我们可以用一个数组表示一条蛇。数组的每一个位置存放一个正方形的坐标如:snakeArr = [(10,0),(20,0原创 2013-01-06 18:53:26 · 19176 阅读 · 0 评论 -
小游戏算法系列一之俄罗斯方块矩阵旋转的一种方法
俄罗斯方块是一个非常经典的益智游戏,也是很多编程爱好者的入门练手之作。在制作俄罗斯方块这个游戏的时候,不得不解决一个问题,就是形状的旋转。通常,在制作的时候,我们会用数组来表示一种形状,如L形我们会用如下二维数组表示[[1,0],[1,0],[1,1]]这是其中一种表示方法。那么形状的旋转就转化为对数组(矩阵)的旋转了。那么要怎么旋转呢,有很多种方法1是实现原创 2013-01-10 12:04:21 · 12146 阅读 · 0 评论 -
基于xml简单的剧情系统
写得比较简陋,仅实现了对白,头像功能这两个核心功能 系统主要包括决本的制定和后台代码的编写。首先是脚本方面脚本:这里我用的是xml,本来想用lua的,想想xml的操作我还不熟悉还是先弄xml代码如下: 解释一下:}}头像处理{{yihutype属性指这条脚本的类型,loadFace是加载头像的意思,另外一个值dialog是对白pos属性指头像原创 2013-01-17 23:56:16 · 1087 阅读 · 0 评论 -
小游戏系列算法之五广度优先搜索,双向广搜,八数码,华容道
前段时间在玩仙五前,遇上了蚩尤冢拼图这个小游戏。其实就是八数码问题,一直想着如何才能用最少步数求解,于是就写了个程序。Q1:什么是八数码问题?A1:首先假定一个3*3的棋盘(如上图),分别有1,2,3……8 共计8个不同的棋子放在上面,棋盘上还残留一个空格。移动棋子的规则是:与空格横竖相邻的棋子可以移动到空格的地方。现给定棋盘一个初始状态,一个目标状态,问如何通过移动棋子让初始状态原创 2013-02-08 17:06:05 · 2883 阅读 · 0 评论 -
小游戏系列算法之四扫雷游戏核心算法,非递归无雷区自动翻开
前几天面试,一道题是实现一个文字版扫雷小游戏实现无雷区自动翻开功能,选做题是采用非递归的方式实现题目十分简单,首先我们来分解一下扫雷游戏应该实现的功能1.地图创建2.计算点击位置周围雷的数目3.无雷区自动翻开4.胜负判决第一步,地图创建,十分简单,创建一个二维数组类储存地图的相关信息则可,0表示无雷,1表示有雷。 第二部,计算点击位置周围雷的数目原创 2013-04-29 13:48:02 · 3859 阅读 · 0 评论 -
网页游戏记录服务器时间,减少误差的方法
每隔一段时间,服务器往客户端发送服务器时间,客户端更新记录服务器发送过来的时间,并记录一次getTimer();sysTime.server = servertime;sysTime.client = getTimer();获取服务器时间return sysTime.server + (getTimer()-sysTime.client)/1000; (一原创 2013-09-08 23:47:04 · 1551 阅读 · 0 评论 -
8方向人物寻路到NPC后角色朝向问题
一般来说,游戏角色自动寻路寻找某位npc,为了显得更自然,都会走到目标npc附近,而不是npc所在的坐标点,这时寻路后人物的朝向往往便无法保证。如今很多的游戏,人物都会有八个方向,为了让游戏更加逼真,在寻路到npc附近时,需要让角色朝向npc,那么如何确定人物朝向呢?我们可以根据角色和npc与Y周之间的夹角来判断。如图,当角色在目标npc的75~105度位置则角色应该朝向左边,在1原创 2013-11-15 23:56:59 · 6903 阅读 · 0 评论 -
AS3 面试题4 替换空格
package{ import flash.display.Sprite; /** * 题目 请实现一个函数,把字符串中的每个空格替换成“%20”,例如“We are happy”,则输出 “We%20are%20happy” * */ public class Main extends Sprite { public function Main() { var t原创 2013-11-17 00:23:36 · 1323 阅读 · 0 评论 -
AS3 字符串转转数组,数组转字符串,splice
从一个字符串中去掉相连的重复字符,原字符串“adffjkljaalkjhl”变为“adfjkljalkjhl” var str:String = "adffjkljaaaaalkkkkjhhhfffl";var arr:Array = str.split(""); for(var i=0;i<arr.length-1;i++){ if(arr[i]==arr[i+1]){原创 2012-12-18 23:57:41 · 5591 阅读 · 1 评论 -
as3加上一个透明精灵作鼠标监听
有时候需要加上一个透明的元件来监听鼠标事件,如封锁某些区域用户鼠标的操作,代码很简单,直接上代码。import flash.display.Bitmap;import flash.display.BitmapData;import flash.events.MouseEvent;import flash.display.Sprite;var bm:Bitmap = new Bitma原创 2013-06-24 00:54:55 · 1429 阅读 · 0 评论 -
AS3运动公式
AS3学习笔记@1 出自《殿堂之路》AS3学习笔记@1AS3缓动公式:sprite.x += (targetX – sprite.x) * easing;//easing为缓动系数变量sprite.y += (targetY – sprite.y) * easing;AS3弹性公式:vx += (targetX – sprite.x) * spring;//spri转载 2013-03-31 15:43:32 · 988 阅读 · 0 评论 -
AS3 位图切割
package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Loader; import flash.display.LoaderInfo; import flash.display.MovieClip; import flash.events.Event;原创 2012-12-20 15:14:27 · 2095 阅读 · 0 评论 -
AS3 加载外部SWF资源
swf 内部库如下 Chat影片剪辑内有三个组建,TextArea,TextInput,Button,实例名非别是:textAtea,textInput,sendButton Main.as package{ import flash.display.Loader; import flash.display.LoaderInfo; import flash.di原创 2012-12-20 16:37:52 · 2574 阅读 · 0 评论 -
精通BitmapData
原帖地址:http://blog.163.com/mdzhg@126/blog/static/163321568201041823325775/ 一、构造方法:var bmd:BitmapData=new BitmapData(200,100,true,0xffff0000);参数说明:1、宽2、高3、是否使用32位填充位图(包括alpha)4、填充色。转载 2012-12-18 20:06:33 · 579 阅读 · 0 评论 -
Dictionary的运用
题目:一篇英文文章,请记录每个英文字符(区分大小写),标点出现的次数,并输出出来 package { import flash.display.MovieClip; import flash.utils.Dictionary; public class Main extends MovieClip { var passage:String = "a journey原创 2012-12-18 19:55:25 · 556 阅读 · 0 评论 -
获取两色块交界处坐标
题目:此乃位图,请获取棕白交界处的点坐标并存入一维数组中。 思路:保存成位图格式,像素,然后素描整张图,从左到右,下到上,判断颜色是否变化,变化了就记录坐标 代码: import flash.net.URLRequest;import flash.display.Loader;import flash.events.Event;import flash.dis原创 2012-11-25 23:50:33 · 919 阅读 · 1 评论 -
Flex初学之键盘监听失效
最近开始学Flex,一来就遇到了问题,KeyBoardEvent无法生效,情景如下 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"原创 2012-12-06 01:16:05 · 550 阅读 · 0 评论 -
AS3 视觉编程基础
原文地址:http://blog.youkuaiyun.com/lulu_jiang/article/details/6325982显示对象等级结构:1.容器2.非容器对象显示对象种类划分:一个统一:所有显示对象都统一于DisplayObject类(继承至EventDispatcher)两个层次:1.是否可接受互动事件 2.是否可以容纳其他显示对象转载 2013-04-02 23:14:13 · 721 阅读 · 0 评论 -
AS3获取对象类名,getDefinitionByName,getQualifiedClassName,getQualifiedSuperclassName
原文地址:http://hi.baidu.com/haorui1130/item/41087b14232788fadceeca1b首先先告诉大家,我要讲的是flash.utils包中的getDefinitionByName,getQualifiedClassName,getQualifiedSuperclassName可能帮助文档写的过于专业,程序底子差的不一定能看明白,我用我理解的,转载 2013-03-21 22:55:25 · 5084 阅读 · 0 评论 -
AS3 去除字符串首尾空格
private function Trim(ostr:String):String { var r1:RegExp =/^\W+/; var r2:RegExp =/\W+$/; return ostr.replace(r1,"").replace(r2,""); }转载 2013-03-22 01:02:35 · 2186 阅读 · 0 评论 -
游戏优化 之 四叉树
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://wxsr.blogbus.com/logs/60788934.html 四叉树 (QuadTrees)可以说是2叉树的扩展形式.为什么在游戏中我们要用4叉树代替一般的遍历查找呢?它的优越性主要在于能在大规模对象队列中快速的查找到你想要的内容,而他的消耗却跟对象数的数目没有太直接的关系; 如图,转载 2012-11-27 21:03:04 · 2383 阅读 · 0 评论 -
as3使用滤镜实现高亮效果(GlowFilter)
效果图高亮前:高亮:import flash.display.MovieClip;import flash.events.MouseEvent;import flash.filters.GlowFilter;var filter:Array = [new GlowFilter(0xffffff,0.5,64,64,6,1,true)]var roleMC:Movi原创 2013-09-01 23:34:31 · 6745 阅读 · 0 评论 -
as3 物品掉落的震动(弹跳)效果(TweenMax,Bounce)
其实就是使用Bounce弹跳变化import com.greensock.TweenMax;import com.greensock.easing.Bounce;TweenMax.to(monster,2,{y:333.45,ease:Bounce.easeOut});怪物在落地后先弹跳几下最终降落原创 2013-09-02 23:39:20 · 4909 阅读 · 0 评论 -
AS3 Keyboard的键值常量类
package{ import flash.ui.*; public class Keyboards extends Object { public static const A:int = 65; public static const B:int = 66; public static const C:int = 6转载 2014-03-30 14:45:25 · 1332 阅读 · 0 评论 -
as3 2d向量类 Vector2D
package Math2{ public class Vector2D { private var _x:Number; private var _y:Number; public function Vector2D(x:Number,y:Number) { _x = x; _y = y; } //拷贝向量 public funct转载 2013-11-14 23:54:15 · 2788 阅读 · 0 评论 -
as3 获取非透明区域
bitmapdata.getColorBoundsRect(0xFF000000,0x00000000,false)主要方法我们用到getColorBoundsRect来获取非透明区域的大小getColorBoundsRect的参数可以方便 的让我们赛选出非透明区域 处理过程如下: bitmapdata.getColorBoundsRect(0xFF000000,0x00000000,转载 2013-11-25 22:46:27 · 2335 阅读 · 0 评论 -
AS3 关键字 with
今天看代码看到了一处使用了关键字 with以前并没有看过,经过一番搜索终于了解了其用法结构with(xxx){code...}with可以帮助你在{}中省略写一些重复的代码,直接上例子with(graphics){ clear(); beginFill(0x0f0,1); drawRect(0,0,super.width,super.hei原创 2013-11-19 00:17:15 · 1965 阅读 · 0 评论