Flash、ActionScript 3:将变量定义为来自其创建者的变量,而无需不断使用 Creator.var

发布于 2024-09-07 21:20:35 字数 568 浏览 3 评论 0原文

我正在尝试将我的代码拆分为类。但有一个问题真正困扰着我。当我为函数创建一个类时,我给出了它自己的舞台。像这样

dragf:Dragfunctions = new Dragfunctions(this)

,在类中我使用它,

var stage:Object;

    public function Dragfunctions(stage:Object) 
    {
            this.stage = stage;
    }

正如你所看到的,我现在可以使用 stage.var1 = "hi" 调用阶段的变量 但是当我需要多次调整该变量时,它会变得相当混乱......

有一种方法可以告诉我,当我调用 var1 时,他知道我的意思是 stage.var1 而无需调用 stage。它:

var var1 = stage.var1 

然后使用

stage.var1 = var1 

,但这也很不方便,有更好的方法吗?

I am trying to split up my code in classes. but there is a issue what really bothers me. when i create a class for functions i am giving its own stage. like this

dragf:Dragfunctions = new Dragfunctions(this)

and in the class i use this

var stage:Object;

    public function Dragfunctions(stage:Object) 
    {
            this.stage = stage;
    }

as you can see i can now call a variable of the stage using stage.var1 = "hi"
but when i need to ajust that varable many times it gets a quite messy...

there is a way to tell that when i call var1 he knows i mean stage.var1 without need to call stage. its:

var var1 = stage.var1 

and then using

stage.var1 = var1 

but that is quite unhandy too is there a better way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

揪着可爱 2024-09-14 21:20:35

是的,使用 getter 和 setter(它们提供类似字段的语义,但允许您在使用赋值时执行自定义逻辑):

function set var1(val:SomeType):void
{
    stage.var1=val;
}
function get var1():SomeType
{
    return stage.var1;
}
function doStuff():void
{
    var1=new SomeType();  //this results in call to "set" method
    var st:SomeType=var1; //this results in call to "get" method
}

Yes, use getters and setters (which provide field-like semantics, but allow you to execute custom logic when assignment is used):

function set var1(val:SomeType):void
{
    stage.var1=val;
}
function get var1():SomeType
{
    return stage.var1;
}
function doStuff():void
{
    var1=new SomeType();  //this results in call to "set" method
    var st:SomeType=var1; //this results in call to "get" method
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文