文章分类 - as3 编程
摘要:这个涂鸦类很方便,而且支持触摸屏。希望朋友们能利用上他,现在我给大家做个简单的demo.import com.nocircleno.graffiti.GraffitiCanvas;import com.nocircleno.graffiti.tools.BrushTool;import com.nocircleno.graffiti.tools.BrushType;//创建画布var canvas:GraffitiCanvas = new GraffitiCanvas(stage.stageWidth, stage.stageHeight);//添加画布addChild(canvas);//创
阅读全文
摘要:贴图在最后一节中你可能注意到了,当我们使用Image类的时候我们需要使用贴图对象,但是按钮怎不同,那么贴图纹理和图像之间有什么区别呢?一个图片需要一个贴图纹理,就像你数码相机中保存的图像数据一样。你不能但是使用这两者的其中任何一个,你必须为Image对象添加一些纹理贴图数据才能显示一些内容。在Starling中,我们可以使用一个Image类。这个类创建的时候需要传递一些图像数据内容。// create an image from a texture:var texture:Texture = Texture.fromBitmap(new EmbeddedBitmap());var image:
阅读全文
摘要:Starling里有一个非常轻量级的影片类:MovieClip。我们可以把这个类当做是可变贴图的Image。(因为它继承自Image,所以真的就是这样。)我们推荐影片的所有帧都来自一个贴图集,并且尺寸都一样(因为如果不一样,会被变形到和第一帧一样的尺寸)。以下是一个包含一个影片剪辑所有帧的贴图集。首先看包含影片帧坐标的xml。注意每一帧的名字都以"flight_"开始。1 2 3 4 5 6 7 这是相应的贴图文件:现在来创建MovieClip: 1 // 嵌入贴图集xml 2 [Embed(source="atlas.xml", mimeType=&q
阅读全文
摘要:原文地址:http://bbs.9ria.com/thread-103583-1-1.html用Starling渲染Sprite本文中要研究的是如何通过Starling框架使用2D游戏中Stage3D(比如用户GPU),来给资源做动画。我想我有必要说明一下怎么开始架构Starling,一个很明显的切入点就是如何用Starling以及GPU(通过Stage3D)绘制动画。幸 好,Starling 把这些必要的繁琐环节都封装起来在幕后为你完成,你可以通过它直接和Stage3D交互。使用Starling的另一个好处就是它接入了一个你所熟悉的 API,由于它紧紧遵循着相同的API,而此API用于指向传
阅读全文
摘要:原地址:http://bbs.9ria.com/thread-280184-1-1.html相关ane:flash 广告ane http://code.google.com/p/adoble-flash-air-ad-network-framework/微信ane1.0 基于WeChatSDK_1.4.2.1(发布日sdk最新版本),air sdk3.9编译下载地址:http://wechat-ane-for-flash-air.googlecode.com/svn/trunk/wechat-ane-for-flash-air.7z接口获取微信实例public static function
阅读全文
摘要:对于碰撞的测试我们来看看两个不同验证方式的演示1:对象矩形碰撞2:对象距离碰撞由此我们可以判断在像素级别上的碰撞测试中,尤其是在Starling 框架的游戏中,基于距离的碰撞测试将更敏感的工作。接下来我们就通过代码来实现,由于在舞台上会同时出现大量的怪物和子弹飞扬。要同时判断他们的碰撞我们最好使用一个管理类来控制CollisionManager.aspackage managers{ import flash.geom.Point; import object.Alien; import object.Bullet; import core.Game; i...
阅读全文
摘要:这一部分也就是游戏的核心。空战开始,舞台上会出现由玩家控制的飞机,还有随机出现的外星怪物.飞机跟随鼠标移动躲闪飞来的怪物。按住鼠标后就开始子弹。子弹碰到怪物就消灭掉它。如果不幸碰到了怪物游戏就结束了,逻辑还是很简单的。1:首先我们来问原来play.as类 中增加循环滚动的背景效果,其实与欢迎界面一样。看代码:2:有了背景我们就要开始让主角登场了,Hero.as 英雄,呵呵其实就是一架战斗机代码解释:1:首先这个Hero 是运行在play 里面的,所以我们在创建的时候要通过一个play变量来映射它的母体2:我们使用Image对象来从纹理集中抽取战斗机图片并添加到舞台,这里pivotX 和 piv
阅读全文
摘要:任务:创建游戏欢迎界面,添加滚动背景,添加开始按钮开始界面类 Menu.as,我们前面只是创建好了游戏的框架体系,现在我们就要充实它内在的东东了。1:首先我们来实现无限循环的背景特效,我们新建一个背景类Background.as 它的主要功能就是内嵌两个背景图片实现循环滚动效果,我们来看代码package object{ import core.Assets; import starling.display.BlendMode; import starling.display.Image; import starling.display.Sprite; p...
阅读全文
摘要:由于这个游戏使用Flex4.6来搭建的,所以游戏需要的素材都是通过[Embed] 内嵌编译来调去的。由此我们要创建一个单独的素材类来管理所有的素材。1:Assets.aspackage core{ public class Assets { public static function init():void { } }}2:将所需的素材引入项目中如图接下来我们简单实现一下在flex4.6中使用一个外部元素实例化过程package core{ import starling.textures.Texture; public c...
阅读全文
摘要:这是一个基于Starling 框架做简单的空战游戏,游戏大致分三个界面。第一:游戏欢迎界面 Menu第二:游戏操作界面 Play第三:游戏结束界面 GameOver搭建游戏引擎架构,1:创建一个接口类IState.aspackage interfaces{ public interface IState { function update():void; function destroy():void; }}2:创建游戏环境界面类package states{ import interfaces.IState; import starl...
阅读全文
摘要:Starling是一个ActionScript类库,它模仿了传统的Flash显示列表。然而,和传统的显示对象不同,Starling对象完全存在于Stage3D环境。这意味着,所有的显示对象都直接由GPU渲染,这会带来非常明显的性能提升。首先我们来搭建Starling的创作环境官方网站:http://gamua.com/starling下载最新的类包 目前是1.4版本点击Download按钮进入下载页面下载类包,解压。首先看看目录结构,我们需要的只是src里面的三个包然后我们就要在工具中来导入这些类别,一:我们以Flex 4.6为例,右键点击项目,选择属性,在AS构建路径选项中将Starling
阅读全文
摘要:游戏玩法:在规定的时间内通过鼠标连线把同颜色的小球尽可能多的连接起来消除掉。游戏代码分析简化1:使用Vector类来保存对象集2:行列二次循环布局小球排列,并根据随机数分配小球的颜色,并用变量val来记录颜色值,以备匹配之用3:舞台注册鼠标按下,移动,和抬起事件切换4:核心 鼠标移动,按下记录第一个小球的颜色,然后移动时首先判断是否在有效范围内如果是在判断经过小球的颜色 进行匹配,如果同色,高亮显示经过的球标注其已被点选则画线并根据相邻小球的角度显示箭头方向。如果不是则不做任何操作,5:鼠标抬起后则清除掉已经连接的小球,开始从底部到顶部遍历所有小球下方位置,如果为空则此球下降,小球都下降完毕后
阅读全文
摘要:每次只发一张牌。第一次牌之后,玩家必须猜出比下一张大还是小。这里使用20张标数分别为1~20的牌。package { import flash.display.*; import flash.events.*; import flash.text.*; public class HighLow extends MovieClip { // 常量 static const numCards:uint = 20;//牌的数量 static const cardSpacing:Number = 90;//间距 s...
阅读全文
摘要:【当文本字段受到选取或取消选取时给予响应】 获得焦点时: FocusEvent.FOCUS_IN 失去焦点时: FocusEvent.FOCUS_OUT 通过键盘(Tab键)把焦点移除时: FocusEvent.KEY_FOCUS_CHANGE 通过鼠标把焦点移除时: FocusEvent.MOUSE_FOCUS_CHANGE FocusEvent 类有一个relatedObject属性.就FOCUS_IN事件而言,relatedObject属性是刚才拥有焦点的对象的引用 地址;对于FOCUS_OUT,KEY_FOCUS_CHANGE以及MOUSE_FOCUS_CHANGE事件,related
阅读全文
摘要:【隐藏Flash Player的右键菜单】 stage.showDefaultContextMenu = false; 【检测系统是否具有音频功能】 flash.system.Capabilities.hasAudio 【检测播放器是在具有MP3解码器的系统上运行,还是在没有MP3解码器的系统上运行】 flash.system.Capabilities.hasMP3 【检测播放器能 (true) 还是不能 (false) 播放流式视频】 flash.system.Capabilities.hasStreamingVideo 【检测播放器是在支持 (true) 嵌入视频的系统上运行,还是在不支持
阅读全文
摘要:【检测屏幕的分辨率】flash.system.Capabilities.screenResolutionXflash.system.Capabilities.screenResolutionY【把弹出窗口居中的算法】X = (舞台宽/2)-(窗口宽/2)Y = (舞台高/2)-(窗口高/2)【数字的不同进制之间的转换】parseInt(str:String, radix:uint = 0):Number 返回十进制的数,参数radix表示要分析的数字的基数.如果省略radix,就默认为10,除非字符串的开头是"0x","0X"或"0"
阅读全文
摘要:【提取子字符串】 String.substr(startIndex:Number = 0, len:Number = 0x7fffffff):String String.substring(startIndex:Number = 0, endIndex:Number = 0x7fffffff):String String.slice(startIndex:Number = 0, endIndex:Number = 0x7fffffff):String substr()第一个参数可以是负值,表示索引值是从字符串尾端算过来,-1是最后一个字符; substring()和slice()差别在于sub
阅读全文
摘要:package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.events.TimerEvent; import flash.utils.Timer; /** 最简单的记忆力颜色匹配 游戏 在资料库中有一个colors 影片,8帧,每帧保存一个颜色 **/ public class color_match extends Sprite { //--- 变量声明 --------- pri...
阅读全文
摘要:玩法: 使用鼠标在flash区域里模拟手势滑动package { import flash.display.Sprite; import flash.display.Shape; import flash.events.MouseEvent; import flash.events.Event; import com.greensock.TweenMax; public final class Main extends Sprite { private var speed:Number = 0; private var pa...
阅读全文
摘要:TouchEvent对象在移动开发中 MouseEvent可用但不如TouchEvent更好用在移动开发中我一直乐于用MouseEvent,后来发现一放到移动设备里就会偶尔卡住不动了。于是决定试一下TouchEvent。效果很明显,不会卡住了。MouseEvent跟TouchEvent这两个类在App中运行起来是一样的。我不知道它们在底层是怎么运作的,我也不需要知道这些东西,只要知道在移动设备中哪一个更好就可以了。我们从建立TouchEvent的程序开始,虽然几乎跟MouseEvent一样,程序上还是有一些不同的。 正确的触屏创建TouchEvent要导入如下三个类:import flash.
阅读全文

浙公网安备 33010602011771号