iphone游戏开发之cocos2d ( 十 )使用纹理图册,更方便生成精灵动画

Cocos2d-x-Lua示例项目HelloLua(1) 建议先制定学习计划,根据学习计划把知识点关联起来,形成一个系统化的知识体系。同时我还搜集整理2020年字节跳动,以及腾讯,阿里,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含。同时我还搜集整理2020年字节跳动,以及腾讯,阿里,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含。但是如果你仅仅是看一遍,而不去学习和深究。 阅读详情

holydancer原创,如需转载,请在显要位置注明:

转自holydancer的优快云专栏,专栏地址:http://blog.youkuaiyun.com/holydancer

在之前的文章七,我们自定义了一个精灵类,该精灵类的init初始化方法中我们使其生成一个动画,并repeatForever,当时我们并没有使用文章九介绍的纹理图册,而是在项目中添加了十几张png图片用作动画中的每一帧,所以我们在生成动画的时候会比较复杂,要转成2D纹理,再循环遍历添加frame数组,再生成动画;文章九我们介绍了纹理图册,将生成动画的每一帧的png图片都放到了同一张大的png中,并有一个plist文件来保存每一帧的CGRect范围等信息,所以我们就不再需要那么麻烦的方式了,cocos2d中有很好的封装类来进行这种操作;

下面来看代码 fishSprite.h:

#import <Foundation/Foundation.h>
#import "cocos2d.h"

@interface fishSprite : CCSprite {
    
}
+(id)fish;
@end

fishSprite.m:

#import "fishSprite.h"


@implementation fishSprite
+(id)fish
{
    return [[self alloc]initWithImage];
}

-(id)initWithImage
{
    if ((self=[super init])) {
        
        
        [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"fish.plist"];
        // 将所有fish.plist相关的精灵添加到缓存里;
        
        NSMutableArray *frameArray = [NSMutableArray array];
        
        for (int i = 1; i<15; i++) {
            [frameArray addObject:
             [[CCSpriteFrameCache sharedSpriteFrameCache ]spriteFrameByName:
              [NSString stringWithFormat:@"fish%d.png",i]]];
        }
        //将帧添加到数组里,用该数组生成动画;
        
        CCAnimation *fishAnimation = [CCAnimation animationWithSpriteFrames:frameArray delay:0.05f];
        
        CCAnimate *animate = [CCAnimate actionWithAnimation:fishAnimation];
        
       
        
               
             
        [self runAction:[CCRepeatForever actionWithAction:animate]];
        
        
        
        
        
        
        
        
        
        
        
//        NSMutableArray* frames = [NSMutableArray arrayWithCapacity:18];
//        //生成一个18的Array;
//        
//        for (int i = 1; i < 19; i++)
//        {
//            NSString *pngFile = [NSString stringWithFormat:@"fish%d.png",i];
//            
//            //利用已知图片名生成纹理;
//            CCTexture2D *texture = [[CCTextureCache sharedTextureCache]addImage:pngFile];
//            
//            //利用纹理生成组成动画的帧;
//            CCSpriteFrame *frame = [CCSpriteFrame frameWithTexture:texture rect:CGRectMake(0, 0, texture.contentSize.width, texture.contentSize.height)];
//            
//            //将生成的帧添加到数组中,共18个,之后我们要用这18个frame来构成动画;
//            [frames addObject:frame];
//            
//        }
//        
//        //利用帧数组生成一个动画,设定帧与帧之间的切换频率为0.05;
//        CCAnimation *animation =[CCAnimation animationWithSpriteFrames:frames delay:0.05];
//        
//        //用CCAnimate将生成的CCAnimation转成可以用精灵操作的动作action:
//        CCAnimate *animate = [CCAnimate actionWithAnimation:animation];
//        
//        //设置为repeat
//        CCRepeatForever *repeat = [CCRepeatForever actionWithAction:animate];
//        
//        //执行
//        
//       
//        
//        
//       
//        [self runAction:repeat];
//        //这样,如果该精灵一被实例化成功,就会动起来;

    }
    return self;
}
@end

在fishSprite.m中,下面注释的代码是之前我们没有使用纹理图册时一个纹理一个纹理添加的代码,另外需要注意的是,昨天我做纹理图册的时候没有注意,只添加了15张图片,完整的是18张,所以for循环中的个数大家知道就行了,纹理图册的循环次数是和plist里面添加的纹理图片的个数相对应的;

这样将fishSprite定义好后,我们在图层上添加时,只需要如下这样调用就能创建一个可以不停动画的精灵;

    //在层上添加精灵;
    fishSprite *fish = [fishSprite fish];
    fish.position = ccp(160,120);
    
    [self addChild:fish];

这只是纹理图册的一个简单的应用,更常见的是我们将其与CCSpriteBatchNode相结合,使图形的绘制更有效率,我们下次再介绍;


Cocos2D-X横版闯关游戏开发实战:从架构设计到多平台部署 游戏开发的核心在于构建一个稳定、可扩展的架构,并高效管理游戏中的各种实体与交互。其原理通常围绕游戏循环、实体组件系统(ECS)和有限状态机(FSM)等基础范式展开,这些技术能有效解耦逻辑、提升代码可维护性。在2D游戏开发中,物理碰撞检测、精灵动画与状态同步、以及资源与内存管理是决定游戏流畅度和手感的关键技术价值所在。特别是在横版闯关、动作冒险等应用场景中,这些技术直接关系到玩家的核心体验。本文将以一个完整的Cocos2D-X横版闯关游戏项目为例,深入剖析如何运用**物理碰撞**与**状态机**等关键技术,实 阅读详情

相关推荐

iPhone & iPad cocos2d游戏开发实战完整版

cocos2d-iPhone 是基于 Objective-C 的开源 2D 游戏引擎,专为 iOS 平台优化,支持 Swift 混编,以其轻量级架构和高性能渲染广泛应用于 iPhone 与 iPad 游戏开发。其核心采用场景驱动设计,通过CCSceneCCLayer和CCSprite构建节点树结构,配合动作系统实现流畅动画逻辑。

weixin_35705784的博客 848

iphone游戏开发之cocos2d ( 九 )使用Zwoptex创建纹理图册

holydancer原创,如需转载,请在显要位置注明: 转自holydancer的优快云专栏,专栏地址:http://blog.youkuaiyun.com/holydancer 我们之前文章提到的精灵(会摇尾游动的小鱼),是我们由一张一张的png图片组成帧构建的,但我们在很多项目里都会发现,他们的同类精灵素材都是保存在一张png上,比如这样 这样,如果需要每个精灵,就会从这张png里

holydancer的专栏 6018

打造20层魔塔游戏:cocos2d-iphone2.0实战指南

Cocos2D-iPhone允许开发者通过继承现有的动作类或者创建全新的动作类来自定义动作。// 自定义动作的类定义@end// 动作开始时的初始化代码// 动作更新时的代码// 动作停止时的清理代码return YES;@end// 使用自定义动作上述代码片段展示了如何通过继承ccAction来创建一个自定义动作类。这样的自定义动作可以在其内部实现复杂的逻辑,并以非侵入式的方式添加到游戏对象中。动作编程实践是游戏开发中的核心部分,它赋予了游戏以动态和生命。

weixin_42181686的博客 757

Cocos2D-iphone 开发之(7) 纹理 精灵 动画

首先介绍一下纹理的相关概念。 Image ----》 纹理 (Texture)  ---》内存  ---》GPU 游戏在运行过程中要把所有的图片都加载成GPU 可以执行的OpenGL ES纹理,注意图像填充到纹理中时,其长度和宽度都应该是2的N次方。 CCTexture2D 这是cocos2d中内置的一个纹理类,用于管理纹理的相关信息,它知道如何将自己绘制到屏幕上,我们可以通过这个类创建纹

小邓笔记 2301

【MM小贴士】关于SAP系统中关税的处理方式

的运费,这部分来讲,我们关税的计价基础,就应该是货物价值+包邮到中国港口的运费,完后进行报关操作,缴纳关税,后半段从中国港口拉回到企业里面的运输费,就会做到费用里面去,而不是计入到存货成本。1、我们自己的企业和国外厂家A购买一项物资,厂家A的报价会分成几个组成部分货物本身的价值或者货物本身的价值+到国外港口的运费或者货物本身的价值+到中国港口的运费或者货物本身的价值+包邮到你们自己企业的整体运费。所以我的关税就是不确定的。重点是运费是哪一段的运费,如何结算,结算的货币,何时能够确定运费。.........

竹大的博客 9025

数十个锂电池充放电电路,锂电池充放电芯片

关乎锂电池供电的产品,在锂电池上,需要三个电路系统:1,锂电池保护电路,2,锂电池充电电路,3,锂电池输出电路。 内容目录: 单节的锂电池保护电路单节为3.7V锂电池(也叫4.2V)和3.8V锂电池(也叫4.35V) 单节的锂电池充电电路即锂电池保护板 单节的锂电池输出电路锂电池转换稳压输出为:1.2V,3.3V,5V,12V等等 两节的锂电池保护电路两节串联7.4V锂电池(也叫8.4V) 两节的锂电池充电电路即两节锂电池保护板 两节...

kuakewei123的博客 1万+

iphone游戏开发之cocos2d( 十一 )使用CCSpriteBatchNode和纹理图册,提高精灵动画效率;

holydancer原创,如需转载,请在显要位置注明: 转自holydancer的优快云专栏,专栏地址:http://blog.youkuaiyun.com/holydancer 之前我们简单地介绍了一下自定义一个精灵,使其在初始化的时候即实现动画,并利用了纹理图册精简代码,今天我们着重介绍一下CCSpriteBatchNode,这是一个相当重要的概念,游戏开发不像应用,大量的动画图片,高速的计

holydancer的专栏 4474

虚拟机VirtualBox下载与安装、安装Ubuntu超详细图文步骤,对一些配置问题也有所写。

自己使用过两款虚拟机,相较于VMware虚拟机来说,virtuabox虚拟机所占内存更小,只有几十兆,且完全开源不收费,里面的功能与VMware基本差不多(在日常开发、学习使用完全够用)。最主要的是,在博主自己使用VMware时经常出错,而virtualbox就更稳定一些,所以这篇是针对virtualbox的安装与一些细节部分。

l1015649309的博客 4万+

Cocos2d IPhone 游戏开发秘籍(一)

Cocos2d for iPhone 是一个强大但易于使用的 iPhone 2D 游戏框架。它是快速的、灵活的、免费的,并且经过 App Store 认证。超过 2500 款 App Store 游戏已经使用它,包括许多畅销游戏。您想将您的 Cocos2d 游戏开发技能提升到下一个层次,并在 Cocos2d 游戏设计中变得更加专业吗?Cocos2d for iPhone 1 游戏开发食谱将帮助您达到下一个层次。您在这里将找到超过 90 个食谱,解释从单个精灵的绘制到人工智能路径查找和高级网络的一切。强调完整

龙哥盟 837

AURIX TC397开发板到手第一步:用iLLD库驱动LED流水灯(附完整代码)

本文详细介绍了如何使用英飞凌AURIX TC397开发板和iLLD库实现LED流水灯效果。从开发环境配置到硬件连接,再到完整的代码实现,逐步引导开发者完成项目。文章还提供了优化建议和常见问题解决方案,帮助嵌入式开发新手快速上手。

weixin_30911451的博客 390

Codex 接入自定义大模型终极教程:插件解锁、会话管理、国产模型一键搞定

🚀 Codex 默认只能使用 OpenAI 官方模型?这篇文章带你从零接入 DeepSeek、通义千问、GLM 等国产大模型,并彻底解锁插件、会话删除、多模型切换等隐藏功能。配置原理、常见坑点、傻瓜式增强工具分享,小白也能轻松上手!🔥

XiaoqiangClub的博客 3147

iphone游戏开发之cocos2d (七) 自定义精灵类,实现精灵动画CCAnimation

holydancer原创,如需转载,请在显要位置注明: 转自holydancer的优快云专栏,专栏地址:http://blog.youkuaiyun.com/holydancer 精灵是游戏的主角,我们在游戏中经常看到各种炫丽的精灵动画效果,之前我们提到精灵是由图片生成的,如果我们想要实现精灵的动画效果,比如捕鱼达人中摇尾游戏动的小鱼,就需要我们用很多张图片来生成一个个纹理,然后使纹理生成一

走在IOS的路上 682

YOLOv9分割训练自己数据和推理训练好模型,并教你使用Labelme工具标注数据(附YOLOv9分割模型结构图),全网最详细教程

YOLOv9 通过研究数据传输时的信息丢失问题,提出了可编程梯度信息(PGI)和通用高效层聚合网络(GELAN)架构,提高了参数利用率和模型性能。与 SOTA 方法相比,GELAN 仅使用传统卷积算子即可实现更好的参数利用率。PGI 适用于从轻型到大型的各种模型,使从头开始训练的模型能够获得更好的结果。YOLOv9 被评价为新的 SOTA 实时目标检测器。接下来本文手把手教你训练自己分割数据集和推理训练好的分割模型。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1492

《Cocos2d-x for iPhone游戏开发实例详解---1.2 绘制精灵》

《Cocos2d-x for iPhone游戏开发实例详解》系列博文,基于 人民邮电出版社 《Cocos2d for iPhone游戏开发实例详解》一书,使用Cocosd-x技术重写。示例代码中所引用的相关资料归于原书作者 Nathan Burba 以及出版社所有,本系列博文提供的C++版代码仅供学习使用。 ======================================

West Third Ring 1565

机器人视觉联动精度优化:从±2mm到±0.02mm,产线级手眼标定全实战

2025年我接东莞长安Type-C接口分拣项目的时候,就是栽在了手眼标定上:实验室里标定完精度±0.5mm,一到产线直接掉到±2mm,机器人10次有3次抓不住,2000多件Type-C接口直接报废,还撞坏了2套汇川SCARA机器人的吸盘,本来45天的工期拖了3个月,不仅没赚到钱,还倒贴了几万块。手眼标定从来不是简单的跑个demo、算个矩阵就完事了,它是一个系统工程:从硬件选型、安装固定、相机标定、标定流程、算法优化、环境控制、重复验证,每一个环节都会影响最终的联动精度。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 384

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

cocos2d 游戏开发实战

文章转自:http://uliweb.clkg.org/tutorial/read/40 6   cocos2d 游戏开发实战 6.1   创建cocos2d项目 6.2   cocos2d v3 "hello world" 6.2.1   显示一个飞船  6.3   精灵  6.4   开始 space viking 之旅  6.4.1   增加 sneakyinput  6

Cocos2d-x手游开发 2585

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Tiny Wings重制版项目解析:如何用Cocos2D复刻经典iPhone游戏

**Tiny Wings重制版**是一款基于Cocos2D游戏引擎开发的经典iPhone游戏复刻项目,它完整再现了原版Tiny Wings的核心玩法和物理特性。这个开源项目为游戏开发爱好者提供了学习Cocos2D框架和2D物理引擎Box2D的绝佳案例,展示了如何实现流畅的2D游戏物理效果和动态地形生成系统。🎮 ## ✨ 项目概述与核心功能 **Tiny Wings重制版**项目完美复刻了原版

gitblog_00806的博客 365

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

cocos2d-iphone v3官方介绍

翻译的不好,凑合着看吧。 cocos2d-iphone是一个可以构建2d游戏和图形交互程序的框架,它运行在iPod Touch, iPhone, iPad and Mac OS X等操作系统或设备上。它基于cocos2d 设计,但是通过使用objective-c取代了Python。cocos2d-iphone的特点 快免费简单易用社区支持 如何安装: 1.先在githu

yesjava的专栏 1657

(译) Cocos2d_for_iPhone_1_Game_Development_Cookbook:1.1绘制精灵

(译)Cocos2d_for_iPhone_1_Game_Development_Cookbook 著作权声明:本文由iam126 翻译,欢迎转载分享。 请尊重作者劳动,转载时保留该声 明和作者博客链接,谢谢! 相关程序代码下载:http://download.youkuaiyun.com/detail/iam126/4068610 或搜索“Cocos2d_for_iPhone_1_G

iam126的专栏 1818

Cocos2d-x 3.X游戏开发:从入门到跨平台发布实战指南

游戏引擎是游戏开发的核心框架,它封装了图形渲染、物理模拟、音频处理等底层技术,通过提供高层API提升开发效率。其工作原理在于将游戏逻辑、资源管理与平台抽象层解耦,实现一次编码多端部署的技术价值。在移动游戏、独立游戏开发等应用场景中,跨平台能力与性能表现尤为关键。本文聚焦于Cocos2d-x 3.X这一经典开源框架,深入探讨其环境搭建、核心架构、资源管理及跨平台发布全流程,为开发者提供从入门到实战的系统指引,助力高效实现app发布与跨平台游戏开发需求。

weixin_34121282的博客 369

COCOS2D 学习教程

1. 在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet http://blog.devdiv.com/( ... �spritesheet.html 2. 如何使用cocos2d来做一个简单的iphone游戏教程(第一部分)  http://blog.devdiv.com/( ... 5�程1.html 3. 如何使用cocos2d开发

volcan1987的专栏 2026

《Cocos2d-x for iPhone游戏开发实例详解系列博文》版权声明及目录

《Cocos2d-x for iPhone游戏开发实例详解》系列博文,基于 人民邮电出版社 《Cocos2d for iPhone游戏开发实例详解》一书,使用Cocosd-x技术重写。 示例代码中所引用的相关资料归于原书作者 Nathan Burba 以及出版社所有,本系列博文提供的C++版代码仅供学习使用。 开发环境: Cocos2d-x  cocos2d-2.1rc0-x-2.1.2-h

West Third Ring 1256

iphone开发每日一练【2011-10-11】

为啥gamecenter在沙箱里好使,在正式环境中分数和成就都提交不了呢???? 关于cocos2D 音效失真的问题 CCGameBox问题 游戏中人物的动画效果是怎么做出来的? 双向链表 for OBJC 在cocos2d中如何才能画直线(非renderTexture

师以长技以制夷 684

(译)Cocos2d_for_iPhone_1_Game_Development_Cookbook:1.12使用层来交换调色板

(译)Cocos2d_for_iPhone_1_Game_Development_Cookbook 著作权声明:本文由iam126 翻译,欢迎转载分享。 请尊重作者劳动,转载时保留该声 明和作者博客链接,谢谢! 相关程序代码下载:http://download.youkuaiyun.com/detail/iam126/4068610 或搜索“Cocos2d_for_iPhone_1_G

iam126的专栏 1647
上一篇: iphone游戏开发之cocos2d ( 九 )使用Zwoptex创建纹理图册
下一篇: iphone游戏开发之cocos2d( 十一 )使用CCSpriteBatchNode和纹理图册,提高精灵动画效率;
holydancer
博客等级 码龄15年 474粉丝 59原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值