flash as2 当条件满足时动态文本显示+1,当第二次满足时再+1,...一直累加,如何写代码?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flash as2 当条件满足时动态文本显示+1,当第二次满足时再+1,...一直累加,如何写代码?相关的知识,希望对你有一定的参考价值。

flash as2 当条件满足时动态文本显示+1,当第二次满足时再+1,...一直累加,如何写代码?
还是没成功,请amwyq朋友帮我看看代码问题在那?代码如下:
on (press)
var i:Number = 0;
var qhwa = setInterval(go, 600);
function go()
if ((nanq._currentframe == 15) && (nvq._currentframe == 13))
i = i+1;
tx1.text = i;

clearInterval(qhwa);

if(条件)
动态文本=动态文本+1


下面是实际代码

假设a>10为条件,t为动态文本变量

if(a>10)
t=t+1
追问

这样只会变成111111,我要的是第二次满足条件时为2,第三次时为3..... 比如:if ((nanq._currentframe == 15) && (nvq._currentframe == 13)) tx1.text = ? 这里的tx1怎么累加1呢?

追答

这个你说错了,如果定义t为数字,累加结果就是2  3  4.........


如果定义t为字符,累加才是11111.......


你可以在一开始申明一个变量  var n:Number=0


然后

if (nanq._currentframe == 15 &&nvq._currentframe == 13) 


    n=n+1

 tx1.text = n

 





参考技术A if(tiaojian)
DTWB.text=DTWB.text*1+1;

Flash AS3 - AddChild 超出精灵范围

【中文标题】Flash AS3 - AddChild 超出精灵范围【英文标题】:Flash AS3 - AddChild outside of sprite range 【发布时间】:2011-10-15 14:51:09 【问题描述】:

我正在尝试在 Flash AS3 中创建动态滚动列表。创建列表时,我将其设置为初始长度。稍后,我将更多对象添加到列表的原始大小之外。我希望能够向下滚动列表并查看所有对象。

我的滚动条只是移动列表的 y 位置。但是,当我运行程序并滚动时,不会显示在原始列表大小之外绘制的每个对象。我该如何解决这个问题?

当我需要向列表中添加内容时,我有一个具有以下功能的列表对象。当我初始化列表时,我给它一个初始高度和宽度,我用它来创建一个蒙版。

public function AddPlayers(pPlayers:Array, pScrollBar:ScrollBar):void

        var player:Player;

        trace("happened again");
        for (var i:int = 0; i < pPlayers.length; i++)
                       
            player = pPlayers[i];                               
            this.addChild(player);
            player.x = 0;
            player.y = player.height * i;
        

        pScrollBar.InitializeScrollBar(this);       

InitializeScrollBar 函数根据所添加内容的大小更新滚动条的属性。主要是根据列表内容的大小来改变滚动面的大小。

public function InitializeScrollBar(pList:List)

        this.list = pList;

        // Size and place scroll track
        scrollTrack.height = scrollHeight - 2 * scrollUp.height;
        scrollTrack.y = scrollUp.height;            
        addChild(scrollTrack);          

        // Place scroll face
        scrollFace.y = scrollUp.height;
        scrollFace.height = scrollTrack.height * (scrollHeight / list.height);          
        addChild(scrollFace);

        // Place scroll buttons
        addChild(scrollUp);
        scrollDown.y = scrollDown.height + scrollTrack.y + scrollTrack.height;
        addChild(scrollDown);
        scrollDown.scaleY = -1;


        scrollFace.addEventListener(MouseEvent.MOUSE_DOWN, MoveScrollFace);

        scrollDown.addEventListener(MouseEvent.CLICK, MoveDown)
        scrollUp.addEventListener(MouseEvent.CLICK, MoveUp)

我在滚动条中还有一个更新函数,当滚动面被拖动时,它使用 ENTER FRAME 事件。

private function Update(evt:Event)

        trace(mouseY);
        scrollFace.y = mouseY;

        if (scrollFace.y <= scrollTrack.y)
        
            scrollFace.y = scrollTrack.y;
        
        else if (scrollFace.y + scrollFace.height >= scrollTrack.y + scrollTrack.height)
        
            scrollFace.y = scrollTrack.y + scrollTrack.height - scrollFace.height;
        

        var scrollChange:Number = (list.height - scrollHeight)/(scrollTrack.height - scrollFace.height);
        list.y = -1 * scrollChange * (scrollFace.y - scrollUp.height);          
        list.y = list.y + list.y % 25;

   

【问题讨论】:

你有一些代码可以分享吗? 您的滚动条代码可能已经设置了一些用于计算滚动距离的属性,而不是不断地从列表中读取它们。当您的列表发生变化时,它们将需要更新,但如果没有看到代码,就不可能说更多。 【参考方案1】:

如果你使用标准 UIScrollbar 组件,它有一个内置函数scrollBar.update(); 你应该在改变内容大小后使用这个函数。

【讨论】:

我正在使用列表中的对象,所以我认为 UIScrollBar 组件不会起作用。我认为它仅适用于文本。

以上是关于flash as2 当条件满足时动态文本显示+1,当第二次满足时再+1,...一直累加,如何写代码?的主要内容,如果未能解决你的问题,请参考以下文章

Flash 9.10不再支持actionscript 2吗?

在 Flash as2 中创建一个简单的计算器时输入

AS3 中的动态文本教程

使用 AS2 在 flash 上引入 php 变量的简单方法

如何更改 Flash as3 中的动态文本?

在 AS3 中动态加载 AS2 文件 - 如何判断文件是不是为 AS2