Cocos2d-x 文本渲染
文本渲染:
CCLabelAtlas、CCLabelBMFont、CCLabelTTF类都是继承 CCLabelProtocol类,即能够使用系统字,也能够自己定义渲染字体。
CCLabelAtlas类使用图片作为文字的一种方式, 通过图片直接定义
CCLabelAtlas *label0 = CCLabelAtlas::create("ASDE test ", "tuffy_bold_italic-charmap.png", 46, 64, ' ');//參数顺序:要显示字符,图片路径, 字符宽度,字符高度, 起始字符
label0->setPosition(ccp(100, 200));
label0->setOpacity(200);
this->addChild(label0); CCLabelAtlas *label2 = CCLabelAtlas::create("456789123", "tuffy_bold_italic-charmap.png", 46, 64, ' ');
label2->setPosition(ccp(visibleSize.width/2, visibleSize.height/2));
label2->setOpacity(200);
this->addChild(label2); //文本闪烁动画
CCActionInterval *ac = CCFadeOut::create(1.2f);
CCActionInterval *ac2 = ac->reverse();
label2->runAction(CCRepeatForever::create(CCSequence::create(ac, ac2, NULL))); //使用plist配置文件的描写叙述来定义,能够依据须要改动配置文件信息,包含图片路径、字符宽度高度、起始字符
CCLabelAtlas* label1 = CCLabelAtlas::create("WER VBN", "./tuffy_bold_italic-charmap.plist");//參数顺序:要显示字符,plist文件路径
label1->setPosition( ccp(10,100) );
label1->setOpacity( 200 );
this->addChild(label1);
CCLabelTTF 类是通过系统字实现字体标签
CCLabelTTF *ttf = CCLabelTTF::create("HELLO WORLD ", "Helvetica", 30, ccp(320, 30), kCCTextAlignmentLeft);//參数顺序:要显示字符。字库名称,字号。范围大小。对齐方式[kCCTextAlignmentLeft(左对齐) kCCTextAlignmentRight(右对齐) kCCTextAlignmentCenter(中心对齐)]
ttf->setPosition(ccp(300, 400));
this->addChild(ttf);
CCTextFieldTTF类输入框使用文字标签,继承CCLabelTTF类
CCTextFieldTTF *pTest = CCTextFieldTTF::textFieldWithPlaceHolder("<click hee for input>", "STHeitiTC-Light",40 );
pTest->setPosition(ccp(300, 500));
this->addChild(pTest);
CCLabelBMFont类中每一个字都是一个精灵,每一个字都能够定义动作,并支持FNT类型文件
CCLabelBMFont *label = CCLabelBMFont::create("Bitmap Font Atlas Xub", "fonts/bitmapFontTest.fnt");
addChild(label); CCSize s = CCDirector::sharedDirector()->getWinSize(); label->setPosition( ccp(s.width/2-200, s.height/2) );
label->setAnchorPoint( ccp(0.5f, 0.5f) ); CCSprite* BChar = (CCSprite*) label->getChildByTag(0);//获取第1字符'B'
CCSprite* FChar = (CCSprite*) label->getChildByTag(7);//获取第7字符'F'
CCSprite* AChar = (CCSprite*) label->getChildByTag(12);//获取第12字符'A'
CCSprite* XChar = (CCSprite*) label->getChildByTag(18);//获取第12字符'A' //为字符创建动作
CCActionInterval* rotate = CCRotateBy::create(2, 360);
CCAction* rot_4ever = CCRepeatForever::create(rotate); CCActionInterval* scale = CCScaleBy::create(2, 1.5f);
CCActionInterval* scale_back = scale->reverse();
CCSequence* scale_seq = CCSequence::create(scale, scale_back,NULL);
CCAction* scale_4ever = CCRepeatForever::create(scale_seq); CCActionInterval* jump = CCJumpBy::create(0.5f, CCPointZero, 60, 1);
CCAction* jump_4ever = CCRepeatForever::create(jump); CCActionInterval* fade_out = CCFadeOut::create(1);
CCActionInterval* fade_in = CCFadeIn::create(1);
CCSequence* seq = CCSequence::create(fade_out, fade_in, NULL);
CCAction* fade_4ever = CCRepeatForever::create(seq); CCActionInterval *by = CCMoveBy::create(1.0f, ccp(300, 300));
CCActionInterval *by2 = by->reverse();
CCSequence* seq_by = CCSequence::create(by, by2, NULL);
CCAction *ac_by = CCRepeatForever::create(seq_by); BChar->runAction(rot_4ever);
BChar->runAction(scale_4ever);
FChar->runAction(jump_4ever);
AChar->runAction(fade_4ever);
XChar->runAction(ac_by);
版权声明:本文博客原创文章。博客,未经同意,不得转载。
Cocos2d-x 文本渲染的更多相关文章
- 【JAVASCRIPT】React入门学习-文本渲染
摘要 react 学习包括几个部分: 文本渲染 JSX 语法 组件化思想 数据流 文本渲染 1. 纯文本渲染 <!DOCTYPE html> <html> <head&g ...
- Vue-Vue文本渲染三种方法 {{}}、v-html、v-text
{{ }} 将元素当成纯文本输出 v-htmlv-html会将元素当成HTML标签解析后输出 v-textv-text会将元素当成纯文本输出 代码: <!DOCTYPE html> < ...
- vue2.0 之文本渲染-v-html、v-text
vue2.0 之文本渲染-v-html.v-text 1.index.html代码 <!DOCTYPE html> <html> <head> <meta c ...
- 微信小程序富文本渲染组件html2wxml及html2wxml代码块格式化在ios下字体过大问题
1.组件使用: 之前微信小程序的富文本渲染组件用的wxParse,对普通富文本确实可以,但是对于代码格式pre标签则无法使用. 下面这个html2wxml很不错,可以支持代码高亮. 详细文档:http ...
- vue之文本渲染
Vue使用了基于HTML的模板语法,允许开发者声明式地将DOM绑定至底层Vue实例的数据.所有Vue的模板都是合法的HTML,所以能被遵循规范的浏览器和HTML解析器解析. 在前面,我们一直使用的是{ ...
- CSS关于文本渲染的属性text-rendering
CSS关于文本渲染的属性text-rendering告诉渲染引擎工作时如何优化显示文本. 浏览器会在渲染速度.易读性(清晰度)和几何精度方面做一个权衡. 我们知道,SVG-可缩放矢量图形(Scalab ...
- IOS Html富文本渲染方式:DTCoreText、WKWebView、UIWebView的内存占用对比
在app的内容页(详情页)中,富文本的显示一直是经常需要处理的问题,而通常在后端的富文本编辑中,Html应用比较普遍,所以其实需要处理的Html富文本显示的问题,以下这三种方式肯定不是最优的显示Htm ...
- 基于OpenGL编写一个简易的2D渲染框架-05 渲染文本
阅读文章前需要了解的知识:文本渲染 https://learnopengl-cn.github.io/06%20In%20Practice/02%20Text%20Rendering/ 简要步骤: 获 ...
- ajax获取富文本数据无法正常渲染到页面问题
有时候富文本渲染到页面的时候 会连带标签一起渲染出来. 解决办法: 首先引用 <script src="https://cdn.jsdelivr.net/npm/fuwenben ...
随机推荐
- Codeforces Round #253 (Div. 1) B. Andrey and Problem
B. Andrey and Problem time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
- ubuntu 14.04设备OVS虚拟OpenFlow交换机配置汇总
一.设备OVS sudo apt-get install openvswitch-controller openvswitch-switch openvswitch-datapath-source ( ...
- XMPP我写底层协议(零)--废话和准备开幕前
当我想写一个非常早期的一点总结.但总是忙没有时间停止做这样的事情. 秦与我的兄弟之前说的,这并不是说我没开灵.但是,因为很多事情还没有时间来写blog. 我没有完全理解,真到自己在这个位置上的时间,能 ...
- WPF/Silverlight中图形的平移,缩放,旋转,倾斜变换演示
原文:WPF/Silverlight中图形的平移,缩放,旋转,倾斜变换演示 为方便描述, 这里仅以正方形来做演示, 其他图形从略. 运行时效果图:XAML代码:// Transform.XAML< ...
- JDK源码学习系列01----String
JDK源码学习系列01----String 写在最前面: 这是我JDK源码学习系列的第一篇博文,我知道 ...
- linux根据该文件夹的读取权限和权限运行差异
假设你linux下使用ls.细心的你会发现居然夹有权限运行.例如: drwxrwxr-x 11 cl cl 4096 9 25 14:22 ./ drwxr-xr-x 49 cl cl 4096 1 ...
- poj 2408 Anagram Groups(hash)
id=2408" target="_blank" style="">题目链接:poj 2408 Anagram Groups 题目大意:给定若干 ...
- JNI 可变印刷
1.包log.h #ifndef __MULTI_TRACE_H__ #define __MULTI_TRACE_H__ #ifdef ANDROID_NDK_BUILD #define LOG_TA ...
- Mac OS X Yosemite安装Hadoop 2.6记录
整个安装过程分为四部分: 一. 安装Homebrew 二. ssh localhost 三. 安装Hadoop已经进行配置文件设置 (伪分布式) 四. 执行栗子 一. 安装Homebrew 採用H ...
- 用正交多项式作最小二乘拟合的java实现(转)
import java.util.Scanner; public class Least_square_fit { public static double Least_square_method(i ...