`
柴秉承
  • 浏览: 88374 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

给ActionScript项目添加preloader

阅读更多

思路就是使用[Frame(factoryClass="标签")]

 

Frame元数据标签在FlashBuilder4.6里面 alt+/ 没有这个提示 但是手工打上去的话 运行是没有问题的

 

现在拿两个类做测试 Preloader类 和 主程序类 Basic_Lesson_1

 

[Frame]元数据标签 网上介绍是主文档类的重定向 也就是运行项目的时候 会先运行 [Frame(facotryClass="全限定类

名")]  

会转到factoryClass指向的这个类 在这个类里面 进行Preloader的显示和进度操作

 

 

package
{
	import ascb.drawing.Pen;
	
	import com.bless.container.Box;
	
	import flash.display.Shape;
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	import flash.events.ProgressEvent;

	[Frame(factoryClass="com.bless.container.Preloader")]
	public class basic_lesson_1 extends Sprite
	{
		public function basic_lesson_1()
		{
			
			addChild(drawCircle());
			trace("numChildren"+numChildren);
			trace("numChildren"+numChildren);
			trace("this:"+this);
		}
		
		/**
		 * 画一个小圆圈 
		 * @return
		 */		
		public function drawCircle(showBorder:Boolean=true):Shape
		{
			var circle:Shape = new Shape();
			if(showBorder){
				circle.graphics.lineStyle(1,0x7FAAFF,1);				
			}
			circle.graphics.beginFill(0xAAFF7F,0.5);
			circle.graphics.drawCircle(50,50,50);
			circle.graphics.endFill();
			return circle;
		}
		
	}
}

 

 

下面是preloader类 这个类继承了 MovieClip使用这个类的nextFrame方法 或者gotoAndPlay(2)来切换到下一帧 这样就可以执行原主程序中的逻辑了

 

下面的这句代码必须要这样写 用getDefinitionByName来进行类的导入 如果直接var app:YourApplication这样的话 原先的主程序就会在第一帧里面执行了 预加载的类就没有意义了

 

var basic:Class = getDefinitionByName("basic_lesson_1") as Class;

 

package com.bless.container
{
	import flash.display.DisplayObject;
	import flash.display.MovieClip;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	import flash.utils.getDefinitionByName;
	
	public class Preloader extends MovieClip
	{
		public function Preloader()
		{
			stage.align = StageAlign.TOP_LEFT;
			stage.scaleMode = StageScaleMode.NO_SCALE;

			super();
			trace("OK");
			loaderInfo.addEventListener(Event.COMPLETE,completeHandler);
		}
		
		public function completeHandler(event:Event):void
		{
			gotoAndPlay(2);
//			nextFrame();
			initApp();
		}
		
		public function initApp():void
		{
			var basic:Class = getDefinitionByName("basic_lesson_1") as Class;
			var myApp:DisplayObject = new basic() as DisplayObject;
			addChild(myApp);
		}
	}
}
 
0
0
分享到:
评论

相关推荐

    flex初始化页面修改,preloader

    6. 将所有相关资源(如图片、图标)添加到项目中,并在代码中引用它们。 通过以上步骤,我们可以实现一个既美观又具有独特性的预加载器,提升应用的整体用户体验。自定义预加载器不仅可以作为展示品牌风格的一种...

    flash-core:由商业项目开发的一组强大的基本ActionScript 3.0类

    闪存核心概述Flash Core是我在每个项目中使用的ActionScript类的不断增长的集合。 这些年来,这些类已被构建并添加到商业项目中,作为针对特定问题的通用解决方案。 它们可以直接在您的许多代码中使用,但是经过精心...

    flash actionscript3 as3编写的 超级玛丽 超级马里奥 游戏 源代码.zip

    - `Preloader.as`:预加载器文件,用于加载游戏资源,确保所有图形和声音文件在游戏开始前完全加载。 - `Mario.as`:马里奥角色的类定义,包括马里奥的动作、碰撞检测、跳跃行为等核心逻辑。 - `tilemap_front.as...

    flex 自定义加载进度框

    6. **集成到Flex应用**:将自定义预加载器的SWF文件添加到Flex项目的预加载序列中,通常通过修改`-preloader`编译选项。 7. **优化加载效率**:考虑如何优化资源加载,减少用户的等待时间,例如通过压缩图片、合并...

    Flex组件生命周期[收集].pdf

    Flex应用的根对象是SystemManager,这是一个Display Class,继承自flash.display.MovieClip,使得预加载器(Preloader)和应用程序(Application)可以在两个不同的帧中运行。SystemManager有一个...

    flash的预加载代码

    预加载控件(Preloader Control)通常是一个小型的自包含SWF,它的任务是在主应用程序加载之前显示进度条和相关状态信息,给用户一个良好的交互体验。 以下是一些关于Flash预加载的关键知识点: 1. **ActionScript...

    Loading条 flash

    5. **Stage对象**:在Flash中,Stage是所有显示对象的顶级容器,我们需要将加载条的显示对象添加到Stage上,以便它们能在舞台上可见。 6. **ActionScript编程**:编写ActionScript代码来控制加载过程,包括初始化...

    三款实用flash焦点图片切换

    优化包括使用预加载器(Preloader)来提高加载速度,添加清晰的指示图标以提示用户可交互,以及确保在不同分辨率和浏览器下都能正常显示。 6. **替代方案:HTML5和JavaScript** 虽然Flash已逐渐被淘汰,但HTML5的...

    flash 马里奥

    4. **编辑与二次开发**:由于源码是可编辑的,开发者可以深入研究游戏的内部工作原理,修改马里奥的行为、添加新关卡、调整游戏难度或引入新的元素,实现自己的创意。 5. **学习资源**:对于想要学习Flash游戏开发...

    Flex 图 片 显 示

    在Flex开发中,图片显示是常见的需求,尤其是在创建用户界面或者进行数据可视化时。Flex Builder 3是一款由Adobe推出的集成开发环境(IDE),专门...在实际项目中,灵活运用这些技术,可以极大地提升应用的用户体验。

    flex事件运行流程

    通常,我们使用 `<mx:Application>` 标签来创建应用程序,但如果使用ActionScript创建,建议避免在构造函数中创建组件,而是放在`createChildren()`函数中,以优化性能。 Flex的SWF文件包含两帧:第一帧包含了...

    FLEX 系统管理器 SystemManager

    creationComplete事件表示组件创建完成,最后,Application对象被添加到显示列表中,派发applicationComplete事件,标志着应用加载完成。 5. **性能优化**: 如果使用ActionScript创建Application对象,推荐在...

    [转] [Flash/Flex] 加载SWF性能VS影片剪辑性能

    SWF是Adobe Flash的文件格式,用于存储由ActionScript控制的动画或交互式内容。而影片剪辑是Flash舞台上可独立播放的动画序列,它可以在运行时动态创建、添加和控制。 1. **SWF加载性能**: - **优点**:SWF文件...

    Flash as3.0制作的泡泡猫小游戏源码。

    ActionScript 3.0(简称AS3.0)作为Adobe Flash的主要编程语言,被广泛应用于交互式内容和游戏的开发。今天我们将深入探讨一款基于AS3.0制作的“泡泡猫”小游戏源码,通过分析其结构、机制和设计原则,以期为初学者...

    Flex Flash的关系分析

    例如,可以在初始化处理程序中添加事件监听器: ```actionscript event.target.content.addEventListener(FlexEvent.APPLICATION_COMPLETE, func); ``` 在ApplicationComplete处理程序中,可以访问并操作被加载...

    FLASHbanner 制作

    6. **添加动作脚本**:如果需要交互性,可以使用ActionScript编写代码。 7. **预览与调整**:在Flash环境中预览动画,根据需要进行调整。 8. **导出和发布**:将完成的动画导出为SWF格式,并将其嵌入到网页代码中。 ...

Global site tag (gtag.js) - Google Analytics