2013年5月22日

摘要: 1.给sprite设置背景色给sprite设置背景色,spr.opaqueBackground = 0xFFCC33,在尺寸变化的时候自动重绘背景。需要注意的是背景不能接受鼠标事件,接受鼠标事件的话,需要用graphics绘制背景。2.在ByteArray里writeUTF("中方汉字"),输出长度为12,一个汉字占了3字节。writeMultiByte("中方汉字","gb2312"),输出长度为8,一个汉字占2字节。writeMultiByte("中方汉字","utf-8"),输出长度为12 阅读全文
posted @ 2013-05-22 13:42 苍蝇也是鸟 阅读(401) 评论(0) 推荐(0)

2013年5月17日

摘要: 这一节给大家讲解一下Citrus的关卡管理package box2dstarling { import starling.utils.AssetManager; import box2dstarling.ALevel; import box2dstarling.MyGameData; import citrus.core.IState; import citrus.core.starling.StarlingCitrusEngine; import citrus.utils.LevelManager; [SWF(frameRate="60")] public class M 阅读全文
posted @ 2013-05-17 01:01 苍蝇也是鸟 阅读(479) 评论(0) 推荐(0)
摘要: 这一节我给大家介绍一下citrus.system.EntityEntity类可以自由的组合行为,使用方式类似装饰者模式,但却有别于装饰者_heroEntity = new Entity("heroEntity"); _physics = new DraggableHeroPhysicsComponent("physics", {x:200, y:270, width:40, height:60}); var input:InputComponent = new InputComponent("input"); var collisio 阅读全文
posted @ 2013-05-17 00:57 苍蝇也是鸟 阅读(404) 评论(0) 推荐(0)
摘要: Citrus对象的销毁有三种方式// Inside a class which extends CitrusObject e.g. CitrusSprite, APhysicsObjects...kill = true;// If you have an access to the variable of the object :hero.kill = true;// Or within a State class (the previous code works too) :remove(hero);cirtusEngine并不销毁游戏对象只是标记销毁,所以使用cirtusEngine最好使 阅读全文
posted @ 2013-05-17 00:39 苍蝇也是鸟 阅读(450) 评论(0) 推荐(0)
摘要: 这一节我给大家 介绍两个很实用的开发工具1.TexturePackerUI 官方地址http://www.codeandweb.com/texturepackerTexturePackerUI是一款很优秀的图形装箱工具,但是不是免费的。作者对开发者是比较友好的,你可以试着去申请一个免费的licence;TexturePackerUI可以导出多种格式的配置,选择你需要的格式2.PhysicsEditorhttp://www.codeandweb.com/physicseditorPhysicsEditor是一个很方便的刚体编辑工具,也是收费的。尤其是它的魔术棒功能,帮我们节省了不少编辑时间。它可 阅读全文
posted @ 2013-05-17 00:24 苍蝇也是鸟 阅读(629) 评论(0) 推荐(0)

2013年5月16日

摘要: 第一步,创建文档类:文档类须继承自CitrusEngine,如果你想整合Starling,那么继承自StarlingCitrusEngine下面我们来创建一个HelloWorld:package{ import citrus.core.starling.StarlingCitrusEngine; public class HelloWorld extends CitrusEngine { public function HelloWorld() { setUpStarling(true); ... 阅读全文
posted @ 2013-05-16 23:36 苍蝇也是鸟 阅读(890) 评论(1) 推荐(0)
摘要: 这是citrus的物理架构截图。下面我详细给大家介绍下citrus的程序架构。我们知道关卡是继承于state的,相对应的state有Away3DState,BlittingGameState,State,StarlingState在state里有一个protected方法protected function createView():ACitrusView { return new StarlingView(this);}这个方法用来创建citrus的渲染基类。citrus的最底层容器是基于ACitrusView,但你不能拿它装载可视对象,因为它不继承于任何容器,相当于一个抽象类。继承于ACi 阅读全文
posted @ 2013-05-16 15:22 苍蝇也是鸟 阅读(695) 评论(0) 推荐(0)
摘要: citrus是一个用AS3开发的横版游戏引挚,拥有强大的扩展性,使用它能非常简单的整合starling,box2d,nape,away3d等引挚。用citrus你可以非常自由的选择游戏的渲染方式。你可以用选择as3的sprite来作为渲染容器,也可以选择starling的sprite来作为渲染容器,甚至可以选择在一张bitmap上来渲染整个游戏(用bitmap来渲染的高效性在flixel上已经验证过了)如果你不想从头开始开发横版游戏,或者你还不是很清楚的了解横版游戏的实现细节的话,或者对于那些物理引擎还不是很精通,选择citrus是非常明智的。citrus拥有强大的类库,有box2d的实现,n 阅读全文
posted @ 2013-05-16 14:42 苍蝇也是鸟 阅读(731) 评论(0) 推荐(0)

2013年5月2日

摘要: 在2.5D游戏开发中,我们有时候需要判断鼠标点是否在一个菱形区块内,如何进行有效的判断呢?下面我给大家一个优化过的公式以及推导过程:|Ax*Th/2| + |Ay*Tw/2|=Th*Tw/4时点是在菱形上的。>时在菱形区域外,<时在菱形内的。其中Ax代表点的X坐标,Ay代表点的Y坐标,Tw代表菱形的宽度,Th代表菱形的高度。进一步优化得到|Ax*Th| + |Ay*Tw|<Th*Tw*0.5推导过程如下:我们假设点A在菱形的边上,那么|Ax*Th/2| + |Ay*Tw/2|即下图红色区域的面积,Th*Tw/4为绿色面积设菱形宽的一半为w,菱形高的一半为h那么根据三角形平行等 阅读全文
posted @ 2013-05-02 19:33 苍蝇也是鸟 阅读(1037) 评论(0) 推荐(0)

2013年4月28日

摘要: import flash.events.MouseEvent;a.b.addEventListener(MouseEvent.CLICK,bclickHandler);function bclickHandler(e:MouseEvent):void{ trace("bclick"); a.addEventListener(MouseEvent.CLICK,aclickHandler);}function aclickHandler(e:MouseEvent):void{ trace("aclick");} 第一次点击B方块,会发现输出 bclick a 阅读全文
posted @ 2013-04-28 11:01 苍蝇也是鸟 阅读(175) 评论(0) 推荐(0)

导航