AS3.0元件参数,主场景如何引用
场景里面有一个元件A和一个动态文本框T,元件A里面有一个按钮a,然后在元件里面设立一个变量varp:string=“p”;我现在是想实现,点击a,然后变量赋值为a,然后T...
场景里面有一个元件A和一个动态文本框T,元件A里面有一个按钮a,然后在元件里面设立一个变量var p:string=“p”;我现在是想实现,点击a,然后变量赋值为a,然后T文本框显示p变量更改后的值。简单来讲,就是元件里面设置的变量,场景要如何引用。或者反过来,场景设置的全局变量,元件要如何引用
展开
展开全部
怎么说呢,在AS3.0中没有严格意义上的全局变量,所有的变量都是局部变量。你在元件A中创建了一个变量p,想在root中调用,那么你可以采取绝对路径的方式去访问,但因为你是在实例级的访问,所以根本是无法实现访问的,而var p:String="p";因为是类内部的私有变量,所以从封装的角度是不可能访问得到的,但我们可以采取一些方法来实现外部访问内部变量的问题。首先,你要把你创建的影片剪辑在库中点属性,将“为ActionScript导出”勾选上,然后在类名称中输入A,那么这个元件就是一个类了,但成为类的库中元件是不允许在时间轴创建变量,所以你必须把元件内的变量删除。然后你Ctrl+N新建一个AS3.0的类文件,将如下代码复制到类中,并保存在你fla元件相同的根文件夹下:
package {
import flash.display.Sprite;
public class A extends Sprite
{
private var p:String = "p";
public function A()
{
} public function get _p():String
{
return p;
}
}
}
在这个类中,声明了你所谓的变量p,通过属性_p来读取类内部的变量p的值。
然后你在主场景 时间轴的第一帧写下如下脚本:
var a:A=new A();
trace(a._p);
OK,祝你成功。
package {
import flash.display.Sprite;
public class A extends Sprite
{
private var p:String = "p";
public function A()
{
} public function get _p():String
{
return p;
}
}
}
在这个类中,声明了你所谓的变量p,通过属性_p来读取类内部的变量p的值。
然后你在主场景 时间轴的第一帧写下如下脚本:
var a:A=new A();
trace(a._p);
OK,祝你成功。
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
展开全部
①场景里:
A.a.addEventListener(MouseEvent.CLICK, onClick);
function onClick(e:MouseEvent):void
{
T.text = A.p;
}
②元件里:
var p:String = "p";
a.addEventListener(MouseEvent.CLICK, onClick);
function onClick(e:MouseEvent):void
{
var s = this.parent;
s.T.text = p;
}
2种方法
A.a.addEventListener(MouseEvent.CLICK, onClick);
function onClick(e:MouseEvent):void
{
T.text = A.p;
}
②元件里:
var p:String = "p";
a.addEventListener(MouseEvent.CLICK, onClick);
function onClick(e:MouseEvent):void
{
var s = this.parent;
s.T.text = p;
}
2种方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你怎么说,没有严格意义上的全局变量在AS3.0中,所有的变量是局部变量。创建一个变量P分量和要调用的根目录,然后你可以采取的绝对路径访问,但因为你是在实例级的访问中,他们根本无法实现访问,而VAR号码:字符串=“P “内部私有变量,所以从点的包是无法访问的,但我们可以采取一些方法来实现外部访问的内部变量。首先,你要创建一个影片剪辑库中的中点属性检查“为ActionScript导出”,然后在类名,进入A,那么这个元素是一类,但一个类库组件不能创建变量在时间轴上,所以你必须在变量中删除元素。然后你按Ctrl + N新建AS3.0类文件,将以下代码复制到类,并将它保存在FLA组件相同的根文件夹:
进口flash.display。包装。雪碧;
类A扩展雪碧
{
私人VAR号码:字符串=“P”;
函数A()
{
/>}公共职能_p():字符串
{
回报P;
}
}
}
在这个类中,声明你所谓的变量p读通过内的财产_p类的变量p的值。
然后你写的主场景时间轴的第一帧脚本如下:
VAR A:A = A();的
跟踪(a._p);
>“确定”祝你成功。
进口flash.display。包装。雪碧;
类A扩展雪碧
{
私人VAR号码:字符串=“P”;
函数A()
{
/>}公共职能_p():字符串
{
回报P;
}
}
}
在这个类中,声明你所谓的变量p读通过内的财产_p类的变量p的值。
然后你写的主场景时间轴的第一帧脚本如下:
VAR A:A = A();的
跟踪(a._p);
>“确定”祝你成功。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询