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);
动态文本=动态文本+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
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吗?