游戏里面需要用到很多的位图文字,以增加美观。最近也尝试做了一个简单的实验版本,其中一种思路是采取tweenlite的 endArray 来刷新位图的做法来尝试滚动一下数字。

使用的基础类是bitmap,最简单直接的办法就是copy像素值了。

下面是一个比较简单的实验,可以尝试玩玩这种简单的效果。

package{ import flash.display.Sprite; import com.greensock.TweenLite; import com.greensock.plugins.TweenPlugin;  import com.greensock.plugins.EndArrayPlugin;  import flash.events.MouseEvent;   public class Main extends Sprite {  private var rollText:RollTextField;  public function Main()  {      TweenPlugin.activate([EndArrayPlugin]);   rollText=new RollTextField();   addChild(rollText);   rollText.x=200;   rollText.y=200;   rollText.init(new nums(0,0),10);   stage.addEventListener(MouseEvent.CLICK,onClick);     }    private function onClick(event:MouseEvent):void  {      rollText.text=Math.random()*5000;     }     }  }

实验的素材我们随意准备一下数字,制作素材的时候需要进行平均的分成,以便裁剪的时候每一个数字都可以得到平均一点。

制作完成后,我们在flash cc预览一下,其中我们随意准备一张数字素材进行裁剪预览。

package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Sprite; import flash.geom.Point; import flash.geom.Rectangle; import flash.text.TextField;    import com.greensock.TweenLite;   public class RollTextField extends Bitmap {  private var source:BitmapData;  private var w:int;  private var h:int;  private var rect:Rectangle;  private var pt:Point;  private var copyImg:BitmapData;  private var curValue:int = 0;  private var offX:int = 0;  public var endFun:Function;  public function RollTextField()  {     }  public function init(source:BitmapData,len:int,offX:int=0):void  {   this.source = source;   this.offX = offX;   w = source.width / len;   h = source.height;  }  public function set text(value:int):void  {   if (! source || value == curValue)   {    return;   }   var myArray:Array = [curValue];   this.curValue = value;   if (! rect)   {    rect = new Rectangle(0,0,w,h);   }   if (! pt)   {    pt=new Point();   }   TweenLite.to(myArray, 1, {endArray:[value],onUpdate:onUpdateView,onComplete:onComplete});   function onUpdateView():void   {    var myNewStr:String = String(int(myArray[0]));    var len:int = myNewStr.length;    if (copyImg)    {     copyImg.dispose();     copyImg = null;    }    copyImg =new BitmapData(len*w,h,true,0x0);    for (var i:int=0; i<len; i++)    {     var num:int = int(myNewStr.charAt(i)) + offX;     rect.x = num * w;     rect.y = 0;     rect.width = w;     rect.height = h;     pt.x = i * w;     pt.y = 0;     copyImg.copyPixels(source,rect,pt);    }    bitmapData = copyImg;   }   function onComplete():void   {    if (endFun!=null)    {     endFun.apply(null,null);    }   }  } }}

注意:最近csdn图片上传都出现了水印,真想吐槽一番这样的无聊设定。

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

flash与游戏笔记 滚动数字相关推荐

  1. flash与游戏笔记:滚动数字

    游戏里面需要用到很多的位图文字,以增加美观.最近也尝试做了一个简单的实验版本,其中一种思路是采取tweenlite的 endArray 来刷新位图的做法来尝试滚动一下数字. 使用的基础类是bitmap ...

  2. flash与游戏笔记:简单的人物demo

    今天抽空整理了一下资料,周末继续奋斗.  页游里面的角色是游戏里面核心模块之一,由于一直做模块,没有动手写一个来玩,这次我尝试写一个傻瓜的demo,尝试去做一个非常简单的实验. 下面是今天早上的一个实 ...

  3. 《Cocos Creator游戏实战》滚动数字

    滚动数字 创建节点 滚动原理 编写脚本 该功能已收录在Many Widgets插件中,使用Cocos Creator 3.x版本的小伙伴可以用该插件快速生成滚动数字. 插件地址:https://sto ...

  4. flash拼图游戏源码_在Flash中构建视频拼图游戏

    flash拼图游戏源码 Suppose you could convince your visitors to give their undivided attention to your compa ...

  5. flash迷宫游戏教程

    在以前的教程中我们讲解了利用Flash制作游戏的一些方法,比如碰撞的检测等,在这个教程中我们利用以前学的知识创建一个不错的迷宫游戏!该教程主要是Flash利用材质和遮照创建真实的小球动画的延续,利用创 ...

  6. 15个最佳Flash物理游戏

    "物理游戏"则是严格按照物理规律移动,体现重力.引力.反作用力.加速度等物理特性的游戏.利用物理引擎制作的益智游戏,却因为手感真实,通关方法多变而越来越受玩家欢迎.这里就为大家推荐 ...

  7. Flash 联网游戏开发基础课程

    最新提示: A 课程 4月3号开始.课程刚刚开始... 课程主要教授AS3面向对象编程知识以及Flex开发环境.[适合的人群]适合那些还没有足够AS3编程经验以及不熟悉面向对象方式编程的开发者,比如: ...

  8. Flash游戏背景的循环滚动实现

    Flash游戏背景的循环滚动实现    by:童年 我们在做flash游戏的时候有时候要用到背景滚屏技术,今天在天地会看到一个兄弟问这方面的问题,咱们就来探讨下怎么循环滚动背景图片吧. 首先我们需要一 ...

  9. Flash/Flex学习笔记(30):不用startDrag和stopDrag的对象拖动

    对于从Sprite类继承来的对象,要实现拖放当然是Flash/Flex学习笔记(13):对象拖动(startDrag/stopDrag) 里讲的方法最方便,但是对于不是从Sprite类继承得来的对象, ...

最新文章

  1. 一千个不用 Null 的理由
  2. Spring Boot中验证码实现kaptcha
  3. mysql 索引优化 2_MySQL2索引优化
  4. django-自关联-三级联动的效果
  5. 滚动时间选择器recyclerview_Android自定义可循环的滚动选择器CycleWheelView
  6. java控制台代码_Java控制台常用命令
  7. 构建应用状态时,你应该避免不必要的复杂性
  8. 小程序页面之间的跳转方法
  9. Java中获取request对象的几种方法
  10. cadence16.6安装教程
  11. 登录oneNote失败解决
  12. 美版iphone更新系统无服务器,iPhone 升级系统提示无法检查更新如何解决?
  13. 合宙Air724UG AT指令连接阿里云
  14. (转)这是转型AI的励志故事,从非科班到拿下阿里云栖一等奖!
  15. 使用电信光猫加路由器实现内网穿透,外网访问内网
  16. Elasticsearch:使用向量搜索来查询及比较文字 - NLP text embedding
  17. 集美大学第七届团体程序设计天梯赛第二场排位赛题解
  18. 2023年全国最新二级建造师精选真题及答案13
  19. QQ看点模块100条测试用例
  20. 无法打开这个应用,查看Microsoft store, 了解有关Nahimic的详细信息

热门文章

  1. Unreal中的Config标记宏
  2. AI TIME 3 周年 | 三生万物,生生不息(文末有惊喜!)
  3. 树莓派linux定时任务,树莓派如何定时关机或定时执行任务
  4. 自驾旅游野外急救十三种武器
  5. 刀剑神域服务器维护到什么时候,刀剑神域黑衣剑士王牌服务器维护什么时候好?服务器维护进不去处理办法[多图]...
  6. 慢SQL,压垮团队的最后一根稻草!
  7. 简单实用的笑话段子小程序详细搭建教程(附源码),包含了视频、图片、段子三个模块
  8. 使用 Vue-cli 脚手架创建项目
  9. bitdock系统错误_Docker在centos下安装以及常见错误解决
  10. 搜狗浏览器 表单登录问题的解决