Cocos2d-x3.2 Sprite精灵类的创建与设置

2023-10-28

  //3.0版本以后,sharedXXX方法改成了getInstance方法 //Director::getInstance()->getVisibleSize()

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//GameScene.h
#include "cocos2d.h"
 
class  GameScene :  public  cocos2d::Layer
{
public :
     static  cocos2d::Scene* createScene();
     
     virtual  bool  init();
     
     void  menuCallback(cocos2d::Ref* pSender);
     
     CREATE_FUNC(GameScene);
};


?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
//GameScene.cpp
#include "GameScene.h"
 
USING_NS_CC;
 
cocos2d::Scene* GameScene::createScene()
{
     auto  scene = Scene::create();    //创建一个场景
     auto  layer = GameScene::create();    //创建一个图层
     scene->addChild(layer);
     return  scene;
}
 
//初始化当前的图层
bool  GameScene::init()
{
     if (!Layer::init())       //初始化父类
         return  false ;
     
     //获取屏幕大小
     Size visibleSize = Director::getInstance()->getVisibleSize();
     
     //创建精灵的六种方法
     //方法一
     auto  sprite1 = Sprite::create( "Flag_1.png" );
     sprite1->setPosition(Vec2(visibleSize.width*0.2, visibleSize.height*0.7));
     this ->addChild(sprite1);
     
     //方法二
     auto  sprite2 = Sprite::create( "Flag_1.png" , Rect(0, 0, 48, 36));
     sprite2->setPosition(Vec2(visibleSize.width*0.4, visibleSize.height*0.7));
     this ->addChild(sprite2);
     
     //创建2D纹理
     auto  texture1 = Director::getInstance()->getTextureCache()->addImage( "Flag_1.png" );
     //auto texture1 = TextureCache::sharedTextureCache()->addImage("Flag_1.png");  //cocos2d-x 3.0已移除该方法
     
     //方法三
     auto  sprite3 = Sprite::createWithTexture(texture1);
     sprite3->setPosition(Vec2(visibleSize.width*0.6, visibleSize.height*0.7));
     this ->addChild(sprite3);
     
     //方法四
     auto  sprite4 = Sprite::createWithTexture(texture1, Rect(0, 0, 48, 36));
     sprite4->setPosition(Vec2(visibleSize.width*0.8, visibleSize.height*0.7));
     this ->addChild(sprite4);
     
     //创建精灵帧
     auto  frame = SpriteFrame::create( "Flag_1.png" , Rect(0, 0, 48, 36));
     
     //方法五
     auto  sprite5 = Sprite::createWithSpriteFrame(frame);
     sprite5->setPosition(Vec2(visibleSize.width*0.3, visibleSize.height*0.3));
     this ->addChild(sprite5);
     
//    //方法六
//    SpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("img.plist");
//    
//    auto sprite6 = Sprite::createWithSpriteFrameName("HelloWorld.png");
//    sprite6->setPosition(Vec2(visibleSize.width*0.7, visibleSize.height*0.3));
//    this->addChild(sprite6);
     
     //**************************//
     //精灵常用处理操作
     //设置缩放
     sprite1->setScale(1.5f, 1.5f);
//    sprite1->setScaleX(1.5f);
//    sprite1->setScaleY(1.5f);
     
     //设置旋转,大于零顺时针旋转
     sprite2->setRotation(60.0f);
//    sprite2->setRotationX(60.0f);
//    sprite2->setRotationY(60.0f);
     
     //设置倾斜
     sprite3->setSkewX(30.0f);
//    sprite3->setSkewY(30.0f);
     
     //设置是否可见
     sprite4->setVisible( true );
     
     //设置颜色
     sprite1->setColor(Color3B(0, 0, 255));
     
     //设置透明度
     sprite2->setOpacity(100);
     
     //更改图片
     
     
 
     return  true ;
}



FROM: http://my.oschina.net/Jacedy/blog/301242

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cocos2d-x3.2 Sprite精灵类的创建与设置 的相关文章

  • 树莓派驱动交叉编译失败的可能原因总结

    1 首先检查交叉编译工具和源码版本是否一样 2 交叉编译工具环境变量是否正确配置 3 config 文件是否成功获取 4 make menuconfig 裁剪库是否配置正确 5 编译的命令是否正确 有些复制会乱码 6 驱动源码路径下的 Ma
  • 剑指offer 学习笔记 二叉搜索树的第K大节点

    面试题54 二叉搜索树的第K大节点 给定一棵二叉搜索树 找出其中第K大的节点 该题问法有问题 应该问从小到大第K个节点值为多少 这样才是书上代码的含义 即中序遍历到第K个元素 以下代码以下图二叉搜索树为例 include
  • android 开发之Activity切换

    img http dl iteye com upload attachment 434571 821c3369 a3bd 357a a260 e5ebe255fa6c jpg img img http dl iteye com upload
  • std::string、QString和const char*的互相转换

    std string QString和const char 常常需要互相转换 可以比作刚需哈哈哈哈 这里就做一个互相转换的记录 方便自己也方便大家 1 std string转QString QString有一个静态函数QString fro

随机推荐

  • 深度学习系列之ANN

    到此 ANN网络从最基础的单层感知器 到为深度网络作模板延伸的BP网络 将模型结构 参数训练 算法都举例讲解的很透彻 为下面的CNN网络的学习打下坚实的基础 这个在线编辑器 体验太差了 好好写一篇长文章 想知道博客上与大家交流 转换过程太麻
  • 大数据的认知

    对大数据的简单认识 大家好我是皈心 是个刚刚走上大数据这个领域的标题萌新 希望各位大佬多多指教 这是我的第一个博客来说说自己对大数据的认识 对大数据创意环境的构想以及自己在第一次实训中的感受有些不对的地方还请见谅 一 对大数据的认识 大数据
  • Mac电脑-mysql密码忘了怎么处理

    1 关闭mysql服务 老版本 sudo usr local mysql support files mysql server stop mac新版本 sudo usr local bin mysql server stop 或者 系统偏好
  • CSS盒子模型-01-优先级-基本测试

    3 1优先级的介绍 特性 不同选择器具有不同的优先级 优先级高的选择器样式会覆盖优先级低选择器样式 优先级公式 继承 lt 通配符选择器 lt 标签选择器 lt 类选择器 lt id选择器 lt 行内样式 lt important 注意点
  • C#基础知识

    快捷键 占位符 Console WriteLine 第一个数字是 0 第二个数字是 1 第三个数字是 3 n1 n2 n3 能取消斜线的转义作用 将字符串按照编辑的原格式输出 string str 11 n11 System IO File
  • Spring事务详解与使用

    Spring事务核心对象 J2EE开发使用分层设计的思想进行 对于简单的业务层转调数据层的单一操作 事务开启在业务层或者数据层并无太大差别 当业务中包含多个数据层的调用时 需要在业务层开启事务 对数据层中多个操作进行组合并归属于同一个事务进
  • Unity接入IAP、服务器验单(Google Play)

    Unity接入IAP 服务器验单 Google Play 最近因为项目需要 被分配来做项目SDK接入以及上架相关事宜 搞了好几天关于Unity接入支付的SDK 接入很简单 卡的最久的就是服务器验单 google相关文档也不是很全 走通之后觉
  • eclipse的Toggle Block Selection Mode功能---列模式

    快捷键 Alf Shift A Toggle Block Selection Mode 块选择模式开关 用法 首先用快捷键或者toolbar打开选择模式 会出现一个十字 表明块选择模式已开启 选中要统一修改的块 可以从 剪贴板ctrl v替
  • 2020大数据技术体系结构图,你值得拥有

    大数据技术体系结构图 JAVA JAVAEE核心 hadoop生态体系及各种框架 spark生态体系 Flink生态体系 JAVA JAVAEE核心 hadoop生态体系及各种框架 spark生态体系 Flink生态体系 希望对大家有所帮助
  • [设计模式] GoF 23种经典设计模式

    原文链接 https www yuque com cppdev patterns zainii GOF设计模式 Gang of Four 四人帮 设计模式的经典书籍 设计模式 可复用面向对象软件的基础 是由四个人共同完成 故GOF设计模式特
  • Spring Boot学习笔记

    文章目录 Spring Boot Spring Boot 整合 JSP Spring Boot HTML Thymeleaf 常用语法 Spring Boot 数据校验 Spring Boot 整合 JDBC Spring Boot 整合
  • Python中创建Dataframe的方法

    介绍4种在Python中创建Dataframe的方法 1 由数组 list组成的字典创建DataFrame import pandas as pd import numpy as np In 1 data pd DataFrame name
  • 【图卷积神经网络】1-入门篇:为什么使用图神经网络(上)

    在本节中 将涵盖以下主要内容 为什么使用图 为什么学习图 为什么使用图神经网络 为什么使用图 首先需要回答的问题是 为什么对图感兴趣 图论是对图进行数学研究的学科 它已经成为理解复杂系统和关系的基本工具 图是一种将节点 也称为顶点 和连接这
  • 03.1-常见端口及攻击汇总

    常用端口号及攻击方向汇总 文件共享服务端口 端口号 端口说明 攻击方向 21 22 69 Ftp Tftp 文件传输协议 允许匿名的上传 下载 爆破和嗅探操作 2049 Nfs 服务 配置不当 139 Samba 爆破 未授权访问 远程代码
  • 利用Qt的pro文件中DEFINES实现条件宏

    想利用宏定义实现不同的代码功能 但不想每次都去代码里注释或者不注释相关的宏定义变量 在这种情况下 就可以在pro里面利用DEFINES字段实现相关宏的定义 例如pro里面加上 DEFINES MYTEST 在代码里就可以使用 ifdef M
  • 服务发现框架选型,Consul还是Zookeeper还是etcd

    背景 本文并不介绍服务发现的基本原理 除了一致性算法之外 其他并没有太多高深的算法 网上的资料很容易让大家明白上面是服务发现 想直接查看结论的同学 请直接跳到文末 目前 市面上有非常多的服务发现工具 Open Source Service
  • LLVM Cookbook

    链接 https blog csdn net qq 23599965 article details 88344459 https github com zy445566 llvm guide zh 万花筒 用LLVM实现语言 备注 万花筒
  • 【Linux】性能优化-linux命令nicstat 网络性能监控

    文章目录 1 概述 1 概述 Unix 里一个受欢迎的命令行工具就是 nicstat 它可以显示每个网络接口的流量概要 包括网络接口的使用度 nicstat 5 Time Int rKB s wKB s rPk s wPk s rAvs w
  • Git_回退到上一次commit与pull

    git 回退到上个版本 rollback 回滚 git reset HEAD git 回退到上一版本
  • Cocos2d-x3.2 Sprite精灵类的创建与设置

    3 0版本以后 sharedXXX方法改成了getInstance方法 Director getInstance gt getVisibleSize 1 2 3 4 5 6 7