带有 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的主要内容,如果未能解决你的问题,请参考以下文章
Sprite Kit中的UIScrollView水平滚动菜单
带有 HTML 5 画布的 Sprite-Sheet BLIT?