热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在TweenMax和AS3中创建计数器“覆盖管理器”-MakecounterinTweenMaxandAS3“overwritemanager”

HowwouldImakeacounterusingGreensocksTweenMaxorTweenLite?Doesanyoneunderstandtheoverwr

How would I make a counter using Greensocks TweenMax or TweenLite? Does anyone understand the overwrite manager?

如何使用Greensocks TweenMax或TweenLite制作计数器?有没有人理解覆盖管理器?

My code will be in AS3. I want it to be timer based, and be capable or resetting it's self and looping. Advice or starter-code would be cool. Also, is it bad to use tweening engines? Let me know.

我的代码将在AS3中。我希望它是基于计时器的,能够或重置它的自我和循环。建议或入门代码会很酷。另外,使用补间引擎是不是很糟糕?让我知道。

IDEAS
moving number column "increments by pixels"
0
1
2
3
4
5
6
7
8
9
0

IDEAS移动数字列“按像素递增”0 1 2 3 4 5 6 7 8 9 0

//1
TweenMax.to
(num7, 1, {y:-3911, delay:1, paused:false, useFrames : false, immediateRender : false});
//2
TweenMax.to
(num7, 1, {y:85, delay:2, paused:false, useFrames : false, immediateRender : false});
//3
TweenMax.to
(num7, 1, {y:-3911, delay:3, paused:false, useFrames : false, immediateRender : false});
//4
TweenMax.to
(num7, 1, {y:85, delay:4, paused:false, useFrames : false, immediateRender : false});
//5
TweenMax.to
(num7, 1, {y:-3911, delay:5, paused:false, useFrames : false, immediateRender : false});
//6
TweenMax.to
(num7, 1, {y:85, delay:6, paused:false, useFrames : false, immediateRender : false});
//7
TweenMax.to
(num7, 1, {y:-3911, delay:7, paused:false, useFrames : false, immediateRender : false});
//8
TweenMax.to
(num7, 1, {y:85, delay:8, paused:false, useFrames : false, immediateRender : false});
//9
TweenMax.to
(num7, 1, {y:-3911, delay:9, paused:false, useFrames : false, immediateRender : false});
//10

Appearance "things appear and dissapear, similar to load-sprite-method"
"no example"

外观“事物出现和消失,类似于load-sprite-method”“没有例子”

My Problems
-infinite looping motions
-global time-scaling and math floor
-garbage build up

我的问题 - 无限循环运动 - 全球时间缩放和数学楼层 - 垃圾堆积

1 个解决方案

#1


0  

It sounds like you have habit of over complicating things. I would probably not use a tweening engine, but might use the Timer class.

听起来你有过于复杂化的习惯。我可能不会使用补间引擎,但可能会使用Timer类。

I would also separate things out into manageable chunks. At the moment it looks like you have your timing code and you display code all mixed in together. I would create these seperate parts:

我还会把事情分成可管理的块。目前看起来你有你的计时代码,你显示所有混合在一起的代码。我会创建这些单独的部分:

  1. CounterTimer - The thing that works out what Count your up to (time-based).
  2. CounterTimer - 计算你的计算方法(基于时间)。

  3. CounterView - The visual graphics of your counter. It's only job is to render what ever number it is TOLD to display. And handle the transitions between states.
  4. CounterView - 您柜台的视觉图形。它唯一的工作就是渲染出要显示的数字。并处理状态之间的转换。

  5. CounterController - Sort of a middle-man. Gets the current Count from CounterTimer, and tells CounterView to render that number (frame-based, because you can only render once per frame).
  6. CounterController - 一个中间人的排序。从CounterTimer获取当前Count,并告诉CounterView呈现该数字(基于帧,因为每帧只能渲染一次)。

Breaking it down like this means you can concentrate on one component at a time, and test that one part in isolation from the other parts. For example; first you could build the CounterView. This would probably be a MovieClip that holds your graphics on the stage. It might have a method called:

如此分解意味着您可以一次专注于一个组件,并将其中一个部件与其他部件隔离开来进行测试。例如;首先你可以构建CounterView。这可能是一个将您的图形保存在舞台上的MovieClip。它可能有一个名为的方法:

public function displayNumber(numberToDisplay:Number):void

When this method is called, the CounterView will show the graphics for that number, including transitions. To test this component, just call this method from the CounterView parent, with a random number. Once it works you can start working on the CounterTimer.

调用此方法时,CounterView将显示该数字的图形,包括转换。要测试此组件,只需使用随机数从CounterView父级调用此方法。一旦它工作,你可以开始使用CounterTimer。

For the CounterTimer you would probably want it to have a bit more of an API e.g.

对于CounterTimer,您可能希望它有更多的API,例如

public function CounterTimer( startCount:Number ) //This is the constructor.
public function start()
public function reset():void
public function getCount():Number

When CounterTimer is finished, just start on the CounterController to hook them together. The CounterController would need to listen to the enterframe event, and tell CounterView to display CounterTimer's count every frame.

CounterTimer完成后,只需启动CounterController将它们连接在一起。 CounterController需要监听enterframe事件,并告诉CounterView每帧显示CounterTimer的计数。


推荐阅读
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 摘要: 在测试数据中,生成中文姓名是一个常见的需求。本文介绍了使用C#编写的随机生成中文姓名的方法,并分享了相关代码。作者欢迎读者提出意见和建议。 ... [详细]
  • 如何搭建Java开发环境并开发WinCE项目
    本文介绍了如何搭建Java开发环境并开发WinCE项目,包括搭建开发环境的步骤和获取SDK的几种方式。同时还解答了一些关于WinCE开发的常见问题。通过阅读本文,您将了解如何使用Java进行嵌入式开发,并能够顺利开发WinCE应用程序。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
  • 上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ... [详细]
  • 开源Keras Faster RCNN模型介绍及代码结构解析
    本文介绍了开源Keras Faster RCNN模型的环境需求和代码结构,包括FasterRCNN源码解析、RPN与classifier定义、data_generators.py文件的功能以及损失计算。同时提供了该模型的开源地址和安装所需的库。 ... [详细]
  • VSCode快速查看函数定义和代码追踪方法详解
    本文详细介绍了在VSCode中快速查看函数定义和代码追踪的方法,包括跳转到定义位置的三种方式和返回跳转前的位置的快捷键。同时,还介绍了代码追踪插件的使用以及对符号跳转的不足之处。文章指出,直接跳转到定义和实现的位置对于程序员来说非常重要,但需要语言本身的支持。以TypeScript为例,按下F12即可跳转到函数的定义处。 ... [详细]
author-avatar
难道我不配_179
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有