带有 Sprite 和 Rectangle 的滚动条不会移动文本,只会移动它所绘制的 Rectangle

Posted

技术标签:

【中文标题】带有 Sprite 和 Rectangle 的滚动条不会移动文本,只会移动它所绘制的 Rectangle【英文标题】:Scrollbar with Sprite and Rectangle won't move text, just the Rectangle it's painted on 【发布时间】:2010-03-08 19:59:06 【问题描述】:

警告:学校作业。

对于那些仍然和我在一起的人,我的任务是在 Flash 中制作一些可滚动的内容。使用 LoadURL() 加载一个 TextFile,然后显示它。为了获取文本,我们编写了自己的 TextFieldExtended 类,它基本上只是将文本文件位置提供给构造函数,然后让类执行获取和加载它的各个步骤。

所以我需要一个滚动条,我在这里:http://kirupa.com/forum/showthread.php?t=245468

(本文末尾链接的 zip 中的所有文件)

问题是,它适用于 Sprites。 在试图让它接受 TextFieldExtended 之后,我遇到了一个障碍,因为滚动条严重依赖于 TextFieldExtended 没有或可能拥有的 Sprite 属性。

所以我尝试使用 addchild 将 TextFieldExtended 实例添加到 Sprite 实例。 这里出现了一个我不知道如何处理的问题。似乎绘制了一个矩形并在其上绘制了文本。我这样说是因为滚动条会向上和向下移动 Rectangle,但文本不会滚动,只是它所在的 Rectangle 并且文本会随之移动。

我的问题:这可以解决吗,或者滚动条的这种实现是否需要进行大量调整才能实现?

如果是这样,您可以推荐任何滚动条,因为此时它对我来说太长了。

所有文件:http://www.mediafire.com/?q2ium22gmox 这是在 Flash CS4 中使用 ActionScript3 制作的。 Example 类是最终实现

【问题讨论】:

【参考方案1】:

听起来是个奇怪的问题;我一直在读到你说你把你的 TextField 放在 Sprite 中的想法“他只需要把那个 TextField 放在一个 Sprite 中”,所以我不太确定如何解决你遇到的具体问题。我猜这是您正在使用的滚动条。所以这是另一个使用起来相当简单的方法:

http://www.warmforestflash.com/blog/2009/04/free-as3-scrollbar-fullscreen-and-resizable/

试一试。根据我的经验,滚动条可能很繁琐,但这只是找到适合您的实现的问题。希望对您有所帮助。

【讨论】:

以上是关于带有 Sprite 和 Rectangle 的滚动条不会移动文本,只会移动它所绘制的 Rectangle的主要内容,如果未能解决你的问题,请参考以下文章

as3 怎样显示rectangle的边框到舞台

Sprite Kit中的UIScrollView水平滚动菜单

从右到左滚动背景 Swift / Sprite Kit

带有 HTML 5 画布的 Sprite-Sheet BLIT?

带有 React-Three-Renderer 的 Sprite 标签(包括 MVCE)

MQL4绘制一个带有文本的动态Rectangle_Label