学习AS3:动态修改影片的帧频

动态

在AS3中,你可以使用Stage类动态的修改影片的帧频。

Stage类(flash.display.Stage)的stage对象是所有的sprite和MovieClip以及其他在安全沙箱里的所有元件的舞台。stage对象的帧频可以是0.01到1000之间的任何一个数。要修改帧频,使用下面的代码:

// 将帧频修改到12帧每秒(FPS)
stage.frameRate = 12;类方法的作用域和类绑定在一起

AS3完全基于类构造。当一个类被创建的时候,类中的参数,变量,方法或任何实例都同时被创建。和AS2不同,AS3中的方法在执行的时候,将使用和类同样的作用域。例如下面的代码:

package {
    import flash.display.Sprite;
    
    public class ClassScope extends Sprite {
        
        public function ClassScope() {      
            traceThis(); // 输出"Class Instance"
            
            var obj:Object = new Object();
            obj.traceThis = traceThis;
            obj.traceThis(); // 输出"Class Instance"
            
            traceThis.call(new Sprite()); // 输出"Class Instance"
        }

        public override function toString():String {
            return "Class Instance";
        }
        
        public function traceThis():void {
            trace(this);
        }
    }
}图形对象和绘图API

和AS1和AS2一样,AS3也提供了绘图API来绘制矢量线段和图形。但是在AS3中,绘图API将独立于显示对象(display objects:MoiveClip,sprites等)而被定义为图形对象(flash.display.Graphics)。图形对象拥有各种绘图方法用来在内部绘制图形。和以前一样,图形内容将在所有对象的最下层。同时,在AS3中有一些新的方法来帮助你方便的绘制简单的图形。包括:

园:drawCircle(x:Number, y:Number, radius:Number):void
椭圆:drawEllipse(x:Number, y:Number, width:Number, height:Number):void
矩形:drawRect(x:Number, y:Number, width:Number, height:Number):void
圆角矩形:drawRoundRect(x:Number, y:Number, width:Number, height:Number, ellipseWidth:Number, ellipseHeight:Number):void

代码举例:

// 绘制一个蓝色的圆角矩形
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF);
square.graphics.drawRoundRect(0, 0, 100, 50, 10, 10);
square.graphics.endFill();
addChild(square);

时间: 2024-10-28 16:34:20

学习AS3:动态修改影片的帧频的相关文章

利用Mono.Cecil动态修改程序集来破解商业组件(仅用于研究学习)

原文:利用Mono.Cecil动态修改程序集来破解商业组件(仅用于研究学习)      Mono.Cecil是一个强大的MSIL的注入工具,利用它可以实现动态创建程序集,也可以实现拦截器横向切入动态方法,甚至还可以修改已有的程序集,并且它支持多个运行时框架上例如:.net2.0/3.5/4.0,以及silverlight程序 官方地址:http://www.mono-project.com/Cecil      首先,我先假想有一个这样的商业组件,该组件满足了以下条件: 1. 该程序集的代码被混

ruby学习笔记(4)-动态修改类的属性

动态语言之所以"动态",最明显的特征就是:类实例的行为/属性可以在new出后,动态修改!个人觉得这种处理相对java/c#(静态语言)来说,更符合现实世界. 比如:一个人刚出生时,除了哭.吃奶等这些基本原始本能,其它的几乎全都不会(原始本能可理解类定义中最开始定义的属性和方法),但随着时间推移,学会了看书,走路,说话...(相当于新增了方法/属性),再往后的人生谁也无法预料,一切都是未知的,所以不太可能象静态语言那样,在运行前就事先把所有的属性/方法全写齐,甚至一个人后来失忆,把原先学

自己动手丰衣足食之轮播图一动态修改marginTop属性实现轮播图

  引言      学习jQuery有年头了,刚开始学习时自己动手写过轮播图,放的久了以至于忘了大致思路了.现在转而做前端,抽空把jquery轮播图拿出来写一写,把各种思路都自己练习练习,这里主要使用动态修改marginTop来实现. 实现原理      1.除第一张图片外,其余图片全部隐藏,4张图片重叠起来.      2.导航按钮添加mouseover和mouseleave事件.      3.设置interval函数,启动定时器调用ShowImg函数.      4.动态修改marginT

flash as3.0 改变影片剪辑的颜色方法总结

AS3.0 动态改变影片剪辑的颜色  代码如下 复制代码 var a:ColorTransform = new ColorTransform(); a.color = 0x000000; mc.transform.colorTransform = a; stage.addChild(mc); 改变mc的颜色 ColorTransform () 构造函数  代码如下 复制代码 public function ColorTransform(redMultiplier:Number = 1.0, gr

Android动态修改ToolBar的Menu菜单示例

Android动态修改ToolBar的Menu菜单 效果图 实现 实现很简单,就是一个具有3个Action的Menu,在我们滑动到不同状态的时候,把对应的Action隐藏了. 开始上货 Menu Menu下添加3个Item <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xml

openwrt luci-关于刚学习luci 界面修改时的疑问

问题描述 关于刚学习luci 界面修改时的疑问 1.通过cbi,将界面中的值修改后,会将其自动保存到相应的config中,其中的ui方式的实现方式,基本的工作流程是怎么样的? 比如说,我不想保存到etc/config下的配置文件中,想要保存到其他文件中具体该怎么做 2.entry 第一个参数path 的第三项或者之后几项的具体作用是什么, 比如说第三个参数如果我定义为"" 则无法形成我创建的界面,那我随便定义一个值,就能出现我的界面,那是否说第三个参数的值可以随我们定义,没有多大作用,

Delphi实现动态修改显示器分辨率

本实例演示如何在程序中动态修改屏幕的分辨率,并且不需要重新启动计算机就可以生效. 向窗体上添加两个Button控件,设计完成的主界面如图1所示. 图1 主界面 在程序中添加一个自定义函数DynamicResolution,它有两个参数,分别对应于水平和垂直方向的分辨率,并且该函数有一个BOOL类型的返回值,通过判断返回值可以判断DynamicResolution函数是否正确执行.DynamicResolution函数代码如下: function TfrmMain.DynamicResolutio

ASP.NET 2.0中动态修改页面标题

asp.net|动态|页面 在老外的站上看到解决的好方法,故简单编译之:在一个asp.net 的应用中,经常要动态修改页面的标题,一个典型的例子就是,在一个页面导航的控件中,希望用户点选哪一个连接,在页面的title里就显示相关的内容,举个例子,比如一个网站,有如下的网站架构:有图书分类,下面再有中国图书,外国图书分类,则一般可以用树形或者asp.net 2.0的新增加的导航栏控件(sitemap),来实现,比如 图书--->中国图书;图书---->外国图书等,而如果这个时候,能在页面的<

动态修改.Net StreamReader Encoding编码

stream|编码|动态 在.Net framework中StreamReader的使用encoding必须在构造器中指定,而且中途完全不可以更改. 在一般的情况下,这不会造成什么问题.一般若是从硬盘读取文件,单一文件内的编码一般都是统一的.即便是发现读错,亦可以关闭StreamReader,重启使用新的编码读取. 偏偏偶最近遇到了需要修改编码的需求,而且,我的程序没有关闭重读的机会.因为偶使用的StreamReader的BaseStream是一个Network Stream,我不可以关闭它--