CCSprite精灵的加载与常用操作

ansys命令流力磁耦合仿真 文章目录前言一、力磁耦合仿真流程二、静力学仿真三、力磁耦合模型构建四、静磁学仿真总结 前言 一、力磁耦合仿真流程 力磁耦合有限元仿真流程中,首先进行静力学仿真,经过前处理模块、分析计算模块和后处理模块提取三维模型单元应力,然后根据力磁耦合方程中,通过matlab将单元应力导入到磁导率与应力的关系式中,得到单元的相对磁导率。最后采用载荷传递耦合方式,进行静磁学模拟仿真,分析计算得到该载荷下试件的磁场分布。,如下图所示为力磁耦合仿真流程图: 二、静力学仿真 下图为中心预制条形缺陷的Q235钢板试.. 阅读详情

精灵是2D游戏中得主角,这次就总结一下cocos2d-x中精灵的使用。

一,加载

首先,创建一个变量 CCSprite *pSprite;

加载函数分为两组initWithXXXX和spriteWithXXXX,其主要的区别是使用initWithXXXX的手工作业,而spriteWithXXXX是纯自动化作业。在SpriteWithXXXX中,先分配内存,然后加载,最后加入到autorelease中。而前者只有加载的部分,分配内存以及释放都需要靠自己。下边全部以spriteWithXXXX函数说明。

1,从文件中直接加载

从文件中加载很简单,只需要 CCSprite::spriteWithFile("文件完整名称"); 其中文件名必须是完整路径,用cocos2d-x生成的项目中Resources目录为根目录。若有一个文件目录为..\Resources\chars\a.png 则 文件名部分就应该为"chars/a.png"。值得注意的是,在WINDOWS下,后缀名大写小写无所谓,但是在MAC下,后缀的大小写必须与文件完全一致,否则无法加载。

此函数还有一个重载函数,后边多一个CCRect参数,可以通过此参数设定加载图片中某个矩形区域。

2,间接加载

有些经常被用到或者需要频繁加载移除的一些资源,如果每次都从文件中加载,程序的效率会变得非常低,通常的做法是将这些文件先读到缓存中,然后再从缓存中加载。

CCTexture2D *pTexture = CCTextureCache::sharedTextureCache()->addImage(pszFilename);

这个函数将一个图片加入缓存并返回一个CCTexture2D的指针。然后就可以

pSprite = CCSprite::spriteWithTexture(pTexture);

如果一个资源已经被加入到了缓存,addImage是不会再加一遍的。程序中我很少会直接用spriteWithTexture这个函数,因为需要保存pTexture的指针。而在spriteWithFile函数中起内部就已经使用了上述过程。

另一种间接加载方法是利用SpriteFrame。SpriteFrame是把一个大的图片划分掉,每一个矩形区域就是一个SpriteFrame。其实如果这个SpriteFrame在大图中的矩形区域已知的话,可以直接使用CCTexture2D的方式,使用CCRect参数。SpriteFrame给我们提供了一种快捷,简便的方式,就是将这个矩形区域信息保存到plist文件中,并通过一个名称作为索引。生成这种大图也有很多工具,我使用过两种工具,一个是 Zwoptex 是一个在线的免费工具,另一个我常用的是 TexturePacker。这是一个收费软件,不过免费版也能满足基本的需要。这两种工具可以生成一个.plist文件和一个图片文件。存放的时候讲这两个关联的文件放在同一个目录下。在需要使用的时候,我们可以将它加载到缓存中:

CCSpriteFrameCache *pCache = CCSpriteFrameCache::sharedSpriteFrameCache();

pCache->addSpriteFramesWithFile("XXXX.plist");

其中plist文件的路径是完整路径。

然后可以用两种方式加载

pSprite = CCSprite::spriteWithSpriteFrame(pCache->spriteFrameByName(szFrameName));

pSprite = CCSprite::spriteWithSpriteFrameName(szFrameName);

看起来第一个函数比较麻烦,实际上,第二个函数调用的是第一个函数。。。。值得说明的是,这里的szFrameName不需要完整路径,而是文件名索引。

 

二,常用操作

精灵加载完了就改各种使用了。

1,锚点

锚点就是所有旋转,移动,缩放的参考点。cocos2-x中默认的锚点是中心点。锚点用比例来表示范围为0-1,(0,0)点代表左下点,(1,1)代表右上点。设置的函数为setAnchorPoint(ccp(0.5, 0.5));

2,旋转

setRotation(angle) 其中angle为角度不是弧度。正数为顺时针旋转,负数为逆时针旋转。

3,位置

setPosition(ccp(xPos, yPos)) xPos和yPos为相对于父节点锚点的位置。

4,缩放

setScale(s);   // 整体缩放

setScaleX(s); // 原图片坐标X轴缩放

setScaleY(s); // 原图片坐标Y轴缩放

s为比例,s = 1表示原尺寸。

5,倾斜

setSkewX(s); // 原图片坐标X轴倾斜

setSkewY(s); // 原图片坐标Y轴倾斜

X轴向右为正,Y轴向上为正。

6,透明度

setOpacity(s);

s范围0-255,0完全透明,255完全不透明。

7,可见

setIsVisible(bVisible)

bVisible为bool值true代表可见false代表不可见

8,翻转

setFlipX(bFlip);  // 水平翻转

setFlipY(bFlip);  // 竖直翻转

bFlip为true,则图片翻转,false不翻转。注意,翻转是针对原图片的操作,水平翻转相当于在图片编辑软件里水平翻转一样。不根据锚点进行翻转。翻转以后,设置的以前设置的锚点不会随着图片的翻转而改变。比如设置右下角为锚点,则翻转以后,锚点为翻转后的图片的右下角(是不是有点绕?)

最后,初始化完成后,不要忘了使用addChild加入到父节点,否则是不会显示的。


原文:http://www.cnblogs.com/w121640121/archive/2012/02/12/2348471.html

DataEase 未授权+远程代码执行漏洞复现(CVE-2025-49001、CVE-2025-49002) DataEase 是一款开源的数据分析平台,提供丰富的数据可视化和分析功能,帮助用户轻松地进行数据探索和决策支持。近日,有关DataEase 被爆出多个漏洞,其中 CVE-2025-49001 是由于JWT校验机制错误导致攻击者可伪造JWT令牌绕过身份验证流程,CVE-2025-49002 是由于H2数据库模块没有严格过滤用户输入的JDBC连接参数,可使用大小写绕过补丁。攻击者可利用这些漏洞实现未授权代码执行,威胁用户数据和系统的安全。 阅读详情

相关推荐

PSM倾向匹配详细步骤和程序

目录1.安装psmatch2统计包。2.数据准备3.数据分析及命令解读4.结果解读4.1模型拟合结果,此处无太多实际意义。4.2试验组可匹配的观测概览,按照命令中设定的匹配规则,试验组有8例患者未能匹配到合适对照。4.3结果解读的重点应该是对stata新生成的中间变量的解读。4.4均衡性检验结果4.5匹配结果的图示化5.Stata命令汇总最后留下两个问题给大家思考:题目 试验设计中,匹配的目的在于确保干预效应估计是建立在可比个体之间的不同结果的基础上。最简单的匹配方式是将干预组和对照组中协变量值相同的两个个

平平淡淡,戒急用忍,一生学闭嘴。 5万+

cocos2d-x总结(五)CCSprite精灵的加载与常用操作

精灵是2D游戏中得主角,这次就总结一下cocos2d-x中精灵的使用。 一,加载 首先,创建一个变量 CCSprite *pSprite; 加载函数分为两组initWithXXXX和spriteWithXXXX,其主要的区别是使用initWithXXXX的手工作业,而spriteWithXXXX是纯自动化作业。在SpriteWithXXXX中,先分配内存,然后加载,最后加入到autore...

weixin_34310369的博客 294

STM32F103ZE驱动PMW3901光流模块,从SPI配置到数据读取的完整避坑指南

本文详细解析了STM32F103ZE驱动PMW3901光流模块的全过程,从SPI配置、硬件连接到数据读取与处理,提供了完整的避坑指南。重点介绍了SPI参数配置、初始化序列优化、运动数据滤波等关键技巧,帮助开发者快速实现精准的光流检测。

weixin_42631411的博客 513

cocosCreator 之 Sprite动态加载和远程加载

cocosCreator 组件Sprite动态加载的各种使用方式和远程加载的示例

鹤九日的博客 5032

蓝牙开发那些事之ceva controller代码解读

对比ceva的经典蓝牙和ble的controller在软件上的差异点

袁赟的博客 1089

反激电源RCD尖峰吸收电路的原理以及调试

反激电源RCD尖峰吸收电路的原理以及调试

mnmmnmn的博客 9246

Cocos2d-x Sprite笔记

1.createauto sprite = Sprite::create("HelloWorld.png"); Sprite* Sprite::create(const std::string& filename) { Sprite *sprite = new (std::nothrow) Sprite(); if (sprite && sprite->initWithFile(fi

blpnh的博客 1963

【ComfyUI】FluxKontext 身形调优与体态增强

AI身形调优与体态增强解决方案 该工作流通过Flux系列模型实现人物体态的智能化增强,主要特点包括: 采用UNet主体模型+双文本编码器+身形增强LoRA的架构组合 通过ReferenceLatent保持原始姿态的同时强化胸腰臀比例 完整工作流包含图像加载、文本编码、潜空间映射等8个核心节点 支持自动化的前后效果对比展示 应用优势: 保持人物自然姿态的前提下实现局部强化 支持通过Prompt精确控制增强方向 适用于摄影后期、角色美化等创作场景 输出效果稳定且风格统一 使用方

Mr数据杨 1293

关于在cocos2dx中继承Sprite的分析与技巧

本文章特指使用C++作为编程语言,基于cocos2dx游戏引擎开发游戏。 在cocos2dx中,sprite作为精灵类是使用最为频繁的类,与其它类相比,如:Node, Layer或Scene,Sprite最大的不同是它包含一个纹理,通过OpenGL的渲染,在游戏中呈现出来。游戏中的主角,怪物,背景,或是精灵的血条等都是通过Sprite来实现的。 在cocos2dx中,关于创建S

峻峰飞阳的博客 blog.youkuaiyun.com/while0 4261

【cmd】Win10家庭版找不到 gpedit.msc (组策略)的解决方法

目录 一、创建cmd文件 二、以“管理员身份”运行“gpedit.cmd”文件 三、运行“gpedit.msc”命令查看组策略 一、创建cmd文件 (1)新建一个文件名为“gpedit.txt”的txt文本文档: (2)文本中写入以下内容: @echo off pushd "%~dp0" dir /b C:\Windows\servicing\Packages\Micros...

顾三殇 —— 博客空间(软件测试) 4万+

硬件电路设计采集电路

摘要:采集电路是硬件设计中连接物理世界与数字系统的关键环节,主要用于将温度、压力等物理量转换为电信号。常见的采集电路包括模拟量采集(如温度、电压)、数字量采集(如开关状态)和特殊信号采集(如光、声音)。设计时需重点关注传感器选型、信号调理、电源接地、抗干扰和ADC配置等核心要素,确保信号链路的完整性和稳定性。合理的电路设计需结合具体应用场景,通过仿真和测试验证性能,最终实现精确可靠的数据采集。

qq_37999850的博客 1796

cocos2dx中加载图片资源的方法,和从内存中获取已经加载的图片资源的方法 以及释放问题

游戏中通常需要将常用的资源如:声音,图片,plist文件,提前加载进内存,以加快游戏的流畅度 1.预加载声音: SimpleAudioEngine::getInstance()->preloadBackgroundMusic("boom.mp3"); 加载之后就可以直接播放:SimpleAudioEngine::getInstance()->playBackgroundMusic("boom

hongkebobby的博客 6281

假新闻检测论文分享(25)L-DefenseExplainable Fake News Detection With Large Language Model

现有的假新闻检测工作主要集中在通过深度网络结合多种信息来学习假新闻的潜在特征,如可信度、立场、传播模式、额外知识、域外数据等。尽管他们在探测上取得了成功,但受限于他们的黑箱性质,他们无法提供任何对公众至关重要的理由。为解决这一问题,一些研究致力于可解释假新闻检测(EFND),旨在同时生成准确性预测和解释。许多工作通过注意力机制在相关报道中注意突出特别的单词、短语或句子来提供可解释性。然而,这些工作只发现了对最终预测有高贡献的区域,缺乏直观和可信的解释。

weixin_41964296的博客 730

cocos2d-x总结CCSprite精灵的加载与常用操作

cocos2d-x总结CCSprite精灵的加载与常用操作 【原文地址】http://www.cnblogs.com/w121640121/archive/2012/02/12/2348471.html 精灵是2D游戏中得主角,这次就总结一下cocos2d-x中精灵的使用。 一,加载 首先,创建一个变量 CCSprite *pSpri

Madman_Guo的专栏 1044

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

cocos2d-x总结之CCSprite精灵的加载与常用操作

cocos2d-x总结之CCSprite精灵的加载与常用操作 精灵是2D游戏中得主角,这次就总结一下cocos2d-x中精灵的使用。 一,加载 首先,创建一个变量 CCSprite *pSprite; 加载函数分为两组initWithXXXX和spriteWithXXXX,其主要的区别是使用initWithXXXX的手工作业,而spriteWit

yangchuankai's blog 639

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

cocos2d-x总结 CCSprite精灵的加载与常用操作

精灵是2D游戏中得主角,这次就总结一下cocos2d-x中精灵的使用。 一,加载 首先,创建一个变量 CCSprite *pSprite; 加载函数分为两组initWithXXXX和spriteWithXXXX,其主要的区别是使用initWithXXXX的手工作业,而spriteWithXXXX是纯自动化作业。在SpriteWithXXXX中,先分配内存,然后加载,最后加

u013321328的专栏 667

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【iOS-Cocos2d游戏开发之二十】精灵的基础知识点总汇(位图操作/贴图更换/重排z轴等)以及利用CCSprite与CCLayerColor制作简单遮盖层!

李华明Himi 原创,转载务必在明显处注明:转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2d/516.html    最近写了不少Cocos2d的博文了,那么由于Himi介绍的一般都是比较容易出错的问题或者比较受到关注的知识点,所以不少童鞋要求写个基础篇,那么这里Himi就举例最常用的精灵CCSprite来详细的介绍一些吧;

李华明Himi 2万+

cocos2d(CCSprite绑定不规则刚体与精灵一起移动)

对于不规则的精灵我们可以借助PhysicsEditor来制作shape , 对于地图可以使用Tiled软件制作瓷砖地图。 今天主要记录一下如何把CCSprite与不规则刚体进行绑定,然后一起移动 //初始化玩家 1.加载shape文件,在init方法中添加: //加载shape文件 [[GB2ShapeCache sharedShapeCache] addShapesWi

Lves Li的专栏 3328

cocos2d-x学习笔记-CCSprite(精灵)

精灵是游戏中十分重要的组成部分,随处可见,如:游戏背景、NPC、人物、道具等。在cocos2d-x引擎中,只要是用图片展示的,基本上需要使用精灵类。 1. 首先来了解一下跟精灵相关的几个类: (1) CCTexture2D 可以把它看成一个纹理,它是cocos2d-x渲染图形的重要参数,用来贴图,因为cocos2d-x使用opengl es绘制2d图形的,它的尺寸是2的n次方。一般通过以

Alex Zhou的程序世界 1903

四、CCSprite

在介绍CCSprite之前,先要理解游戏开发中的一个核心概念:精灵。精灵也称为游戏对象,它可以用来表示游戏中的任何物体,比如敌人、子弹、甚至是一个背景图片、一段文字。CCSprite可以说是在cocos2d中最常用的一个类,可以称之为"精灵类",它能够以图片的形式将精灵显示到屏幕上。 创建精灵 在谈怎么创建一个精灵之前,先了解下游戏开发中另一个核心概念:纹理。纹理其实就是用来描述物

M了个J 5156

cocos2d_CCSprite

通过对导演、场景、层和节点的剖析,现在我们已经可以写出一个完整的游戏体系了,在实际应用中,场景一般都是作为游戏的关卡,层作为场景的组成元素(比如UI层,背景层), 导演根据游戏的胜负来激活不同的场景,作为关卡的切换。(以上是常规游戏的流程,仅作参考) 但是,单凭这些还不能作出一款高质量的游戏,优秀的游戏不仅要能玩,最关键的还要好玩,好玩的游戏自然少不了绚丽多彩的视觉效果。和其它主流2D引擎一

The Life with iOS 966

cocos2d-X学习之主要类介绍:精灵角色(CCSprite)

CCSprite是一副2D图像,CCSprite可以通过图像或者图像中的一个矩形子区域创建 如果它的父节点或者任意继承树上的节点是CCspriteBatchNode则具有下述特性: 父节点是CCSpriteBatchNode时具有的特性: 更快的渲染速度,特别时CCSpriteBatchNode有很多子节点的情况下,但有以下限制: A、不支持照相功能(例如:CCOrbitCamera...

A425951726的博客 201

CCSprite 精灵动画

本文转自 http://www.th7.cn/Program/Android/201211/111119.shtml 记得以前学习XNA游戏开发的时候,操作精灵角色的攻击或者行走动作都是给出特定的几张序列图或者一张长序列图然后通过切割来作一帧一帧的切片动画播放。  开始  关于精灵sprite我从网上摘录了一段话如下 说白一点,精灵就是将图形资源加载到内存中,并根据游戏需要将其

dongw1023的专栏 966

[windows+cocos2dx]CCSprite精灵类

序言回顾cocos2dx,之前在mac+Xcode平台学习了一遍cocos2dx,一年时间不接触cocos了,一直在搞Unity3d,现在还是就之前所学温故温故,但不再用Xcode来写,用常用的Windows+VS2012做为开发环境来回顾cocos2dx。从CCSprite精灵类开始回顾起。CCSprite多种创建方式创建CCSprite精灵类有好多中方式,好多构造函数,这里列举集中创建形式,包

学无止境的专栏 3033

CCSprite:精灵

精灵 层和场景是其他游戏元素的容器,如果没有向它们添加可见的游戏元素,它们看起来就一直是透明的。精灵则与层和场景不同,它隶属于层,是场景中出现的可见图形。 玩家控制的主角、AI控制的NPC、以及地图上的宝箱、宝石,甚至游戏主菜单的背景图片都是精灵。因此,可以这样认为,玩家看到的一切几乎都是由精灵构成。 精灵不一定是静态的。通常,一个精灵可以不断的变化,变化的方式包括:移动、旋转、缩放、变形、

Write the code , change myself. 1765
上一篇: Cocos2d-x动作CCAction
下一篇: cocos2dx 粒子系统
tspangle
博客等级 码龄19年 81粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值