flash与游戏笔记 滚动数字
游戏里面需要用到很多的位图文字,以增加美观。最近也尝试做了一个简单的实验版本,其中一种思路是采取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与游戏笔记 滚动数字相关推荐
- flash与游戏笔记:滚动数字
游戏里面需要用到很多的位图文字,以增加美观.最近也尝试做了一个简单的实验版本,其中一种思路是采取tweenlite的 endArray 来刷新位图的做法来尝试滚动一下数字. 使用的基础类是bitmap ...
- flash与游戏笔记:简单的人物demo
今天抽空整理了一下资料,周末继续奋斗. 页游里面的角色是游戏里面核心模块之一,由于一直做模块,没有动手写一个来玩,这次我尝试写一个傻瓜的demo,尝试去做一个非常简单的实验. 下面是今天早上的一个实 ...
- 《Cocos Creator游戏实战》滚动数字
滚动数字 创建节点 滚动原理 编写脚本 该功能已收录在Many Widgets插件中,使用Cocos Creator 3.x版本的小伙伴可以用该插件快速生成滚动数字. 插件地址:https://sto ...
- flash拼图游戏源码_在Flash中构建视频拼图游戏
flash拼图游戏源码 Suppose you could convince your visitors to give their undivided attention to your compa ...
- flash迷宫游戏教程
在以前的教程中我们讲解了利用Flash制作游戏的一些方法,比如碰撞的检测等,在这个教程中我们利用以前学的知识创建一个不错的迷宫游戏!该教程主要是Flash利用材质和遮照创建真实的小球动画的延续,利用创 ...
- 15个最佳Flash物理游戏
"物理游戏"则是严格按照物理规律移动,体现重力.引力.反作用力.加速度等物理特性的游戏.利用物理引擎制作的益智游戏,却因为手感真实,通关方法多变而越来越受玩家欢迎.这里就为大家推荐 ...
- Flash 联网游戏开发基础课程
最新提示: A 课程 4月3号开始.课程刚刚开始... 课程主要教授AS3面向对象编程知识以及Flex开发环境.[适合的人群]适合那些还没有足够AS3编程经验以及不熟悉面向对象方式编程的开发者,比如: ...
- Flash游戏背景的循环滚动实现
Flash游戏背景的循环滚动实现 by:童年 我们在做flash游戏的时候有时候要用到背景滚屏技术,今天在天地会看到一个兄弟问这方面的问题,咱们就来探讨下怎么循环滚动背景图片吧. 首先我们需要一 ...
- Flash/Flex学习笔记(30):不用startDrag和stopDrag的对象拖动
对于从Sprite类继承来的对象,要实现拖放当然是Flash/Flex学习笔记(13):对象拖动(startDrag/stopDrag) 里讲的方法最方便,但是对于不是从Sprite类继承得来的对象, ...
最新文章
- 一千个不用 Null 的理由
- Spring Boot中验证码实现kaptcha
- mysql 索引优化 2_MySQL2索引优化
- django-自关联-三级联动的效果
- 滚动时间选择器recyclerview_Android自定义可循环的滚动选择器CycleWheelView
- java控制台代码_Java控制台常用命令
- 构建应用状态时,你应该避免不必要的复杂性
- 小程序页面之间的跳转方法
- Java中获取request对象的几种方法
- cadence16.6安装教程
- 登录oneNote失败解决
- 美版iphone更新系统无服务器,iPhone 升级系统提示无法检查更新如何解决?
- 合宙Air724UG AT指令连接阿里云
- (转)这是转型AI的励志故事,从非科班到拿下阿里云栖一等奖!
- 使用电信光猫加路由器实现内网穿透,外网访问内网
- Elasticsearch:使用向量搜索来查询及比较文字 - NLP text embedding
- 集美大学第七届团体程序设计天梯赛第二场排位赛题解
- 2023年全国最新二级建造师精选真题及答案13
- QQ看点模块100条测试用例
- 无法打开这个应用,查看Microsoft store, 了解有关Nahimic的详细信息
热门文章
- Unreal中的Config标记宏
- AI TIME 3 周年 | 三生万物,生生不息(文末有惊喜!)
- 树莓派linux定时任务,树莓派如何定时关机或定时执行任务
- 自驾旅游野外急救十三种武器
- 刀剑神域服务器维护到什么时候,刀剑神域黑衣剑士王牌服务器维护什么时候好?服务器维护进不去处理办法[多图]...
- 慢SQL,压垮团队的最后一根稻草!
- 简单实用的笑话段子小程序详细搭建教程(附源码),包含了视频、图片、段子三个模块
- 使用 Vue-cli 脚手架创建项目
- bitdock系统错误_Docker在centos下安装以及常见错误解决
- 搜狗浏览器 表单登录问题的解决