07 2010 档案

摘要:在前一篇 puremvc框架之hello world!里,已经对这个框架有了一个大概的认识,不过在消息的处理上,有一个不太适合的地方:为了完成响应消息,TextMediator亲自去监听自己感兴趣的消息类型,然后亲自来处理。要知道:Mediator属于View层(即:MVC中的V),它最好是什么也不干,仅仅与界面保持联系即可,对于如何响应消息这类粗活,应该交由Controller层(即MVC中的C... 阅读全文
posted @ 2010-07-31 21:04 菩提树下的杨过 阅读(3716) 评论(0) 推荐(0) 编辑
摘要:是的,没错,就是用vs2010来开发flex/flash !有图有真相:1、在vs2010中创建as3/air/flex项目2、ide环境中的as代码自动提示对于不想安装flash cs/flash builder/flash developer,又想体验一下actionscript编程的.net程序员来说,这无疑是一个好消息!言归正传:1、先到http://opensource.adobe.co... 阅读全文
posted @ 2010-07-29 10:56 菩提树下的杨过 阅读(11106) 评论(38) 推荐(26) 编辑
摘要:puremvc是一个可应用于多种语言、多种平台的mvc框架。根据官网上的描述,现在已经支持下列语言:官方也推出了最佳实践的中文文档,当然,园子里也有兄弟说它烂的 :)跟asp.net mvc框架有所不同,在asp.net mvc中,一个http请求过来,controller会自动去取得数据,最终转化为model,然后选取一个view进行呈现,同时把model传到view中,一切还算比较简单。然而p... 阅读全文
posted @ 2010-07-27 17:11 菩提树下的杨过 阅读(12474) 评论(5) 推荐(4) 编辑
摘要:单件(singleton)模式在c#中是最容易实现的模式,其主要用意就在于限制使用者用new来创建多个实例。但在as3中,构造函数必须是public的(语法本身要求的),而且也不能在构造函数中抛出异常(编译可通过,但是逻辑行不通),因为这样相当于把创建实例的路子完全切断了,一个实例也得不到!错误代码:怎样即能创建实例,又阻止使用者调用构造函数呢?这里要用到as3的一个特性:默认情况下,一个as文件... 阅读全文
posted @ 2010-07-27 14:36 菩提树下的杨过 阅读(2126) 评论(0) 推荐(0) 编辑
摘要:Bēniaǒk兄弟的Flex与.NET互操作(六):Flex和.NET协同开发利器FluorineFx是基于vs2008 + flex builder3的,不知道什么原因,我在vs2010 + flash builder4 上试了几次,总是不成功(也许晚上应该自我检讨下人品鸟),于是有了这一篇东东,算是对 vs2010/flash builder4环境下的一个补充吧.net的服务端依照参照silv... 阅读全文
posted @ 2010-07-26 15:20 菩提树下的杨过 阅读(2186) 评论(0) 推荐(1) 编辑
摘要:前几天写过一篇"flash开发中如何实现界面代码分离",评论中小-G同学给出了更好的建议:swc ,今天试用了一下,果然比较embed swf来得更爽!同时对小-G同学表示感谢!就拿视频播放器的控制来说吧:通常我们会把一些常规的控制按钮,利用Flash CS的IDE界面做好,放到库中如果按embed swf的方法,需要手动用代码创建每种按钮的实例,然后一个个去控制位置,然后addChild;其实考... 阅读全文
posted @ 2010-07-26 14:34 菩提树下的杨过 阅读(6258) 评论(4) 推荐(0) 编辑
摘要:Silverlight从其它系统获取外部数据的常规途径无非下面2种:1、直接远程加载文本或xml文件 (直接请求ashx/aspx,然后在ashx/aspx上输出信息也可以归入这一类)2、通过wcf/webService取得数据(当然,sl跟本机的sl之间也能交换数据,但这个用处有限,此外通过socket也能拿到数据,但是socket要玩好并不容易,难度系数有点高,本文不做讨论)而返回的数据格式,... 阅读全文
posted @ 2010-07-25 11:10 菩提树下的杨过 阅读(2841) 评论(5) 推荐(1) 编辑
摘要:在前一部分的最后,我们给出了一个寻路的示例,在大多数情况下,运行还算良好,但是有一个小问题,如下图:很明显,障碍物已经把路堵死了,但是小球仍然穿过对角线跑了出来!问题在哪里:我们先回顾一下AStar.as中用于判断的if语句在这个判断中,并没有规定说不允许走对象线。来看看如何修正:在以node为中心考查四周节点时,如果遇到水平和垂直方向都是障碍物时,既使对角节点是可穿越的普通节点,也不能通过。所以... 阅读全文
posted @ 2010-07-24 12:43 菩提树下的杨过 阅读(7180) 评论(2) 推荐(3) 编辑
摘要:上一部分提到了节点(Node),代价(Cost),估价公式等基本概念,有了这些知识铺垫 就可以正式开启寻路之旅了!如上图,这是一个5行8列的网格,黄色节点为起点,红色节点为终点,黑色节点为障碍物(节点)。寻路过程可以这样考虑:1、先以起点为中心,向周边扩张一圈,同时计算出周边节点(最多有8个)的单步代价g(即从中心点移动到相邻格子的代价:水平或垂直为1,对角为1.4);然后再计算周边每个节点到终点的估算代价h(利用上一部分最后讲到的估算公式),从而得出周围每个节点的总代价 f = g+h2、同时准备二个数组,一个称为开放列表(open),一个称为封闭列表(closed),把周边节点放入open 阅读全文
posted @ 2010-07-24 09:18 菩提树下的杨过 阅读(6880) 评论(7) 推荐(1) 编辑
摘要:一提到“A*算法”,可能很多人都有"如雷贯耳"的感觉。用最白话的语言来讲:把游戏中的某个角色放在一个网格环境中,并给定一个目标点和一些障碍物,如何让角色快速“绕过障碍物”找出通往目标点的路径。(如下图)在寻路过程中,角色总是不停从一个格子移动到另一个相邻的格子,如果单纯从距离上讲,移动到与自身斜对角的格子走的距离要长一些,而移动到与自身水平或垂直方面平行的格子,则要近一些。为了描述这种区别,先引入二个概念:节点(Node):每个格子都可以称为节点。代价(Cost):描述角色移动到某个节点时所走的距离(或难易程度)。如上图,如果每水平或垂直方向移动相邻一个节点所花的代价记为1 阅读全文
posted @ 2010-07-22 09:24 菩提树下的杨过 阅读(10316) 评论(7) 推荐(3) 编辑
摘要:Function类在as3中是直接从Object继承下来的,通常开发者定义的每一个function,均可以认为是Function类的一个实例。如果硬要跟c#做比较,Function类跟Delegate(委托)有几分相似,均可以达到通过该类型的实例来调用不同方法的目的。这段c#代码中,委托_delegateType的实例d,最终调用了具有同样方法签名的方法helloWorld.来看下as3是怎么做的... 阅读全文
posted @ 2010-07-21 11:41 菩提树下的杨过 阅读(10810) 评论(2) 推荐(1) 编辑
摘要:因工作需要,又做了一个播放器(走了一段弯路:刚开始在flash里做,后来不知道怎么搞的,flash cs5突然代码提示功能没了,后换成Flash Builder把主要代码复制进来重新来过,加上视频文件转换为flv,前后用了近两天时间,汗)依然是基于xml数据源,动画的移动处理主要依赖于TweenLite,没有使用系统的组件,开发环境win7 + flash builder,最终大小29k,另外也发... 阅读全文
posted @ 2010-07-20 15:15 菩提树下的杨过 阅读(2387) 评论(4) 推荐(0) 编辑
摘要:比系统自带的组件体积要小很多,而且支持进度条显示(在做播放器时,显示缓冲进度很有用哦),另外也支持三角形的音量调整显示使用示例:SimpleSlider.as 阅读全文
posted @ 2010-07-18 17:08 菩提树下的杨过 阅读(1642) 评论(0) 推荐(0) 编辑
摘要:官方解释:除 TextField 和 Video 对象以外,没有内容的显示对象(如一个空的 Sprite)的高度为 0,即使您尝试将 height 设置为其它值,也是这样。如果您设置了 height 属性,则 scaleY 属性会相应调整(width类推)也就是说,一个空的sprite,既使您设置了width,height也是没用的(而且人为设置了反而会有负作用,见下面的代码)注意:这里人为指定了... 阅读全文
posted @ 2010-07-17 21:49 菩提树下的杨过 阅读(5463) 评论(5) 推荐(3) 编辑
摘要:“flash开发”发展到今天,大体上已经细分为二个分支:Flash 设计师 和 Flash程序员,然而设计师不懂代码,程序员不懂设计,如何把这二种角色有机结合起来,实现代码、界面分离?可能下面的办法对你有用:actionscript3允许把外部swf直接用Embed标记嵌入到主类中(当然用UrlLoader动态加载也行),这意味着设计师们可以把一些常用的与代码无关的素材(比... 阅读全文
posted @ 2010-07-17 12:38 菩提树下的杨过 阅读(3963) 评论(4) 推荐(0) 编辑
摘要:在上一篇的最后,我们成功的用“等角投影”模拟出了立体空间的盒子模型,但是很快你就会发现这个示例的bugbug1:在已经有box的地方,再点击,将会重复创建box新实例。bug2:后面添加的box,会挡住前面添加的box。bug3:在边缘部分,如果用鼠标小心的点击,可以创建出很多超出world范围之外的盒子(即:看起来好象挂出去了)我们按轻重缓急来处理吧:bug2最严重,它直... 阅读全文
posted @ 2010-07-14 21:11 菩提树下的杨过 阅读(3622) 评论(2) 推荐(3) 编辑
摘要:as3.0中的事件冒泡机制有时候会很烦人,比如一个Sprite(方便下文描述就命名为Container吧)把另一外Sprite(称为Child吧)做为子元素套进来以后,如果两个Sprite都注册了Mouse_Down事件,要想在Child上点击鼠标时系统只响应Child的Mouse_Down事件,默认是不行的,因为事件冒泡会让Container也响应Mouse_Down事件,示例代码:鼠标点击最小... 阅读全文
posted @ 2010-07-13 21:27 菩提树下的杨过 阅读(8071) 评论(0) 推荐(2) 编辑
摘要:什么是等角投影(isometric)?刚接触这个概念时,我也很茫然,百度+google了N天后,找到了一些文章:[转载]等角(斜45度)游戏与数学[转载]使用illustrator和正交投影原理以及基本三视图制图以及这篇ppt:http://files.cnblogs.com/yjmyzz/Isometric.rar建议先耐心看完这三篇文章,再往下看:在之前学习的3D基础、3D线条与填充、背面剔除... 阅读全文
posted @ 2010-07-13 14:50 菩提树下的杨过 阅读(5320) 评论(8) 推荐(3) 编辑
摘要:今天开始,决定用flash builder淘汰flash cs 4/5了,刚换过来感觉有些不适应,百度+查看帮助,找了几个有用的快捷键:1.代码格式化:选中要格式化的代码段,然后 CTRL + I (注:这是flash builder自带的,不过功能很弱,只能对Tab缩进进行自动格式化,要想有更强的代码格式化,可到百度上搜索一个格式化插件,解压到plugin目录即可)2.代码注释/反注释:选中要注... 阅读全文
posted @ 2010-07-13 11:15 菩提树下的杨过 阅读(8043) 评论(2) 推荐(0) 编辑
摘要:这应该是IE的bug,解决办法:前二行的目的是让IE环境中触发RESIZE事件,然后在resizeHandler函数中就能正确得到stage.stageWidth与stage.stageHeight了注:如果在firefox或chrome浏览器下,默认页面一打开时,如果用户没有做任何最大化或最小化之类改变浏览器大小的操作,RESIZE事件是不被触发的,而IE中始终会触发. 阅读全文
posted @ 2010-07-13 10:53 菩提树下的杨过 阅读(1542) 评论(0) 推荐(0) 编辑
摘要:原文出处:http://www.vanqy.cn/index.php/2009/03/working-with-orthographic-projections-and-basic-isometrics/正交投影图(Orthographics)正交投影图的工作原理是通过几个不同的视图来描述一个物体看起来是什么样子的。正交视图一般又称为工程制图或者俯视图。借住一组正交视图和Illustrator可以... 阅读全文
posted @ 2010-07-12 20:39 菩提树下的杨过 阅读(4019) 评论(0) 推荐(0) 编辑
摘要:原文链接:http://www.javaeye.com/articles/12251984年欧洲的玩家被一款当时发布的游 Knight Lore 震惊了。这款2d游戏居然相当真实的模拟了3d环境,而当时游戏的发布平台是 ZX Spectrum, 48K的内存。这个技术就是isometric perspective(等角投影) 。后来大菠萝、最终幻想等游戏均采用了这种投影技术。等角投影是指在一定范围... 阅读全文
posted @ 2010-07-12 20:35 菩提树下的杨过 阅读(3749) 评论(4) 推荐(1) 编辑
摘要:sliverlight中一个用户自定义控件(比如MyControl.xaml)如果注册了CompositionTarget.Rendering事件(相当于Flash中的Enter_Frame,在进入每帧时触发),然后在MainPage.cs用代码动态添加时,有二个细节要注意:1、MyControl实例在new出来以后,如果还未添加到MainPage.xaml中的根容器中,其对应的Compositi... 阅读全文
posted @ 2010-07-11 21:36 菩提树下的杨过 阅读(1419) 评论(2) 推荐(0) 编辑
摘要:在不使用文档类(document class)的情况下,直接在时间轴上写以下代码:输出:this->[object MainTimeline] ,root->[object MainTimeline] ,stage->[object Stage]this==root? --> truethis.stage==stage? --> true0同样的代码,如果放在有文档类... 阅读全文
posted @ 2010-07-11 21:22 菩提树下的杨过 阅读(1535) 评论(4) 推荐(0) 编辑
摘要:在上一篇里,我们学习了“自主角色”的一些基本行为:寻找(seek)、避开(flee)、到达(arrive)、追捕(pursue)、躲避(evade)、漫游(wander)。这一篇将继续学习其它更复杂,更高级的行为。一、对象回避(object avoidance)对象回避的正式解释为:角色预测出对象的行动路径,然后避开他们。也可以通俗的描述为:假如有一个"灰太狼抓喜羊羊"的游... 阅读全文
posted @ 2010-07-10 18:09 菩提树下的杨过 阅读(2990) 评论(4) 推荐(3) 编辑
摘要:因为这一章的内容基本上都是涉及向量的,先来一个2D向量类:Vector2D.as (再次强烈建议不熟悉向量运算的童鞋,先回去恶补一下高等数学-07章空间解释几何与向量代数.pdf)有几个地方稍加解释: 1、向量夹角的计算 上图为向量的夹角公式,再来对照一下代码部分: 首先对向量v1,v2做了单位化处理,使其变成(模为1的)单位向量,这样夹角公式中的|a|×|b|(即分母)自然也就是1... 阅读全文
posted @ 2010-07-07 21:07 菩提树下的杨过 阅读(6693) 评论(0) 推荐(3) 编辑
摘要:1.Sprite/MovieClip的Enter_Frame事件,不受addChild/removeChild影响简单点讲:Sprite或MovieClip对象一旦为其添加了Enter_Frame事件监听,对应的Enter_Frame处理函数将会马上被调用,并一直执行下去(不管你是否将其addChild到显示列表,或者将其从显示列表removeChild),直到该对象removeEventList... 阅读全文
posted @ 2010-07-06 21:56 菩提树下的杨过 阅读(3480) 评论(1) 推荐(1) 编辑
摘要:Adobe官方并没有"泛型数组"的叫法,这是我自己对Vector的叫法(有点标题党),不过Vector在使用上确实跟c#中的泛型数组有些相似之处。我们知道:ActionScript3.0中的Array数组可以存放多种类型,甚至在同一个Array数组中,可以同时存入String,Object,Number...,但其实我们在实际开发中,通常一个数组中所保存的元素类型都是一致的,为了改进这种情况下的效... 阅读全文
posted @ 2010-07-04 18:57 菩提树下的杨过 阅读(6584) 评论(2) 推荐(1) 编辑
摘要:AdvancED ActionScript 3.0 Animation 是Keith Peters大师继"Make Things Move"之后的又一力作,网上已经有中文翻译版本了,打算下一阶段开始啃这本书。今天开始学习高级碰撞检测,所用到的预备知识:1、BitmapData的透明与不透明区别位图数据(BitmapData)有二种模式,一种支持透明(即每个像素的值采用AARRGGBB这种32位颜色... 阅读全文
posted @ 2010-07-03 11:27 菩提树下的杨过 阅读(8147) 评论(5) 推荐(0) 编辑
摘要:早上在网上闲逛,发现了下面这张图,觉得很好,转帖于此,同时向原作者的辛苦整理表示感谢.原图太大,发不上来,打个包下载吧: http://files.cnblogs.com/yjmyzz/flash%e5%bc%80%e5%8f%91%e6%8a%80%e8%83%bd%e6%a0%91.rar 阅读全文
posted @ 2010-07-03 08:56 菩提树下的杨过 阅读(1365) 评论(0) 推荐(0) 编辑
摘要:来源:http://www.infoq.com/cn/news/2010/02/Flash-ten-things此前,我们发布的新闻谈到了每个Flex开发者需要知道的10件事,本文将继续这个主题,谈谈每个Flash开发者需要知道的10件事。近日John Lindquist谈到了在为Roundarch公司招聘Flash/Flex开发人员时的一些感受。他认为最难的地方在于问什么问题才能最好地了解到应聘... 阅读全文
posted @ 2010-07-02 09:26 菩提树下的杨过 阅读(612) 评论(2) 推荐(2) 编辑
摘要:原文:http://blog.flexdevelopers.com/2010/04/10-things-good-flex-developer-should.html翻译:http://bbs.9ria.com/viewthread.php?tid=54144&from=recommend_f要想成为一名优秀的Flex编程人员,单单知道怎么样去使用Flex内建的容器和组件是不够的,而且是远... 阅读全文
posted @ 2010-07-02 09:23 菩提树下的杨过 阅读(1801) 评论(3) 推荐(0) 编辑