cocoscreator基础-cc.sprite使用(代码片段)

orxx orxx     2023-03-09     583

关键词:

1: 了解cc.Sprite的使用;
2: 了解cc.Sprite的大小模式;
3: 学会使用九宫格,使用九宫格节省美术资源;
4: 学会个性化的时间精度条的使用;
5: 代码里面来更换图片;

 

cc.Sprite

1: 游戏中显示一个图片,通常我们把这个叫做”精灵” sprite
2: cocos creator如果需要显示一个图片,那么需要在节点上挂一个精灵组件,为这个组件指定要显示的图片(SpriteFrame)
3: 显示一个图片的步骤:
(1) 创建一个节点;
(2) 添加一个组件;
(3) 要显示的图片(SpriteFrame)拖动到SpriteFrame;
(4) 配置图片的SIZE_MODE:
a: CUSTOM 大小和CCNode的大小一致;
b: RAW 原始的图片大小;
c: TRIMMED 大小为原始图片大小, 显示的内容是裁剪掉透明像素后的图片;
(5) trim: 是否裁剪掉 图片的透明区域, 如果勾选,就会把完全透明的行和列裁掉, 做帧动画的时候,我们一般是用原始大小不去透明度,动画,不至于抖动;
4: 精灵更换spriteFame;
5: 快捷创建带精灵组件的节点;

 

图片模式

1: simple: 精灵最普通的模式, 选择该模式后,图片将缩放到指定的大小;
2: Tiled: 平铺模式, 图片以平铺的模式,铺地板砖的模式,铺到目标大小上;
3: Slice: 九宫格模式,指定拉伸区域;
4: Filled: 设置填充的方式(圆,矩形),可以使用比例来裁剪显示图片(只显示的比例);

 

九宫格的使用

1: 指定拉伸区域, 让图片在拉伸的时候某些区域不会改变;
比如圆角,聊天气泡等
2: 九宫格能省图片资源, (对话框);
3: 编辑九宫格,来制定缩放区域;
4: 体会对话框背景的九宫拉伸;

 

Filled模式

1: 配置Filled模式
2: 配置Filled模式, 设置为Radius参数;
3: 配置Radius的参数模式,
中心: 位置坐标(0, 1小数), (0, 0)左下脚, (1, 1) 右上角 (0.5, 0.5) 中心点
Fill Start 开始的位置: 0 ~1, 右边中心点开始,逆时针走
Fill Range: 填充总量(0, 1];
FillRange为正,那么就是逆时针,如果为负,那么就是顺时针;
4: 个性化时间进度条案例;
5: 游戏中道具的时间进度显示都可以;

cc.Class(
    extends: cc.Component,

    properties: 
        // foo: 
        //    default: null,      // The default value will be used only when the component attaching
        //                           to a node for the first time
        //    url: cc.Texture2D,  // optional, default is typeof default
        //    serializable: true, // optional, default is true
        //    visible: true,      // optional, default is true
        //    displayName: ‘Foo‘, // optional
        //    readonly: false,    // optional, default is false
        // ,
        // ...
        sprite: 
            default: null,
            type: cc.Sprite,
        ,

        action_time: 15,
    ,

    // use this for initialization
    onLoad: function () 
        // 获取组件的实例,代码获取,编辑器绑定
        var node = this.node.getChildByName("time_bar");
        this.sp = node.getComponent(cc.Sprite);
        // end 

        // this.now_time = 0;
        this.now_time = this.action_time;
    ,

    // called every frame, uncomment this function to activate update callback
    update: function (dt) 
        
        /*this.now_time += dt;
        var percent = this.now_time / this.action_time; // -->百分比
        if (percent >= 1)  
            percent = 1;
            this.now_time = 0; // 重新开始
        

        this.sp.fillRange = percent;
        */

        this.now_time -= dt; // 顺时针转动- 逆时针+
        var percent = this.now_time / this.action_time; // -->百分比
        if (percent <= 0)  
            this.now_time = this.action_time; // 重新开始
        
        this.sp.fillRange = percent;
    ,
);

 

cc.sprite(代码片段)

...戏中显示一个图片,通常我们把这个叫做”精灵”sprite;2:cocoscreator如果需要显示一个图片,那么需要在节点上挂一个精灵组件,为这个组件指定要显示的图片(SpriteFrame); 3:显示一个图片的步骤:   (1)创建一个节点; ... 查看详情

cocoscreator组件-画笔

//0.>试用于CocosCreator1.x及以下版本//>会强制设置挂载该脚本的节点的anchor为(0.5,0.5),方便触摸位置转换//>可以在该节点上添加cc.Sprite组件当背景色,不加则为背景透明//>画板尺寸和挂载该脚本的节点size一致//1.setPen(event,p... 查看详情

cocoscreator(1)——帧动画

...首先要将图片处理成带位置信息的大图形式,以便能够被cocoscreator所用。其次要创建一个承载动画的节点,并绑定Animation组件。编辑动画,包括运行速度,帧事件,运行模式(顺序、循环...)。预览。动画资源就对应于之前animat... 查看详情

cocoscreator游戏开发基础入门

在CocosCreator游戏开发中,有几个非常重要的基础知识大家必须掌握,就是场景、场景树、节点Node、组件Component。一、什么是场景和场景树一个游戏中可以有多个场景(例如登录场景、修改密码场景、游戏主场景等等),在游戏... 查看详情

cocoscreator基础1,小白自学日常。(代码片段)

...错则改之,无则加勉。接触ccc的第一天。我首先去看了下CocosCreator用户手册(http://docs.cocos.com/creator/manual/zh/),然后跟着做了一个摘星星的小游戏。第一天就是简单的复制粘贴,简单了解了一下操作界面和运行原理。第二天我... 查看详情

cocoscreator基础-spine骨骼动画组件使用(代码片段)

cocoscreator基础-(十一)spine骨骼动画组件使用1:掌握sp.Skeleton组件的使用;spine骨骼动画工具1:骨骼动画:把动画打散,通过工具,调骨骼的运动等来形成动画2:spine是一个非常流行的2D骨骼动画制作工具3:spine动画美术人员导出3个文件:... 查看详情

cocoscreator3.0基础——常见操作(代码片段)

文章持续记录开发中遇到常用的功能节点平移缩放旋转@ccclass('CubeScale')exportclassCubeScaleextendsComponenti=0j=0update(deltaTime:number)//平移this.node.translate(newVec3(0.01,0,0))//缩放this.node.setScale(this 查看详情

cocoscreator3.0基础——常见操作(代码片段)

文章持续记录开发中遇到常用的功能节点平移缩放旋转基本操作@ccclass('CubeScale')exportclassCubeScaleextendsComponenti=0j=0update(deltaTime:number)//平移this.node.translate(newVec3(0.01,0,0))//缩放this.node.setScale( 查看详情

cocos2dx-lua中sprite精灵的3种创建方法(代码片段)

---1.从图片文件创建--适合于要显示的这张图片的全部区域或部分区域functionTestTest:CreateSprite1()localpng="lobby/lobby.png"--文件路径localsprite=cc.Sprite:create(png)self:addChild(sprite)localsprite2=cc.Sprite:create(png,cc.rect(0,0,1 查看详情

用cocoscreator和pomelo编写多人在线实时聊天室----基础知识和环境安装

客户端:CocosCreator1.6.2服务器端:Pomelo2.2.5源码地址:https://github.com/foupwang/CocosCreatorChatForPomelo.git本教程主要介绍怎么使用CocosCreator和Pomelo实现一个多人在线实时聊天室,Pomelo相关代码基于Pomelo官方提供的Chat范例(https://github.com/... 查看详情

slider(代码片段)

localslider_Boos=slider_Boos.Slider=cc.ControlSlider:create(cc.Sprite:create("majia/images/battle/boosSlider_bg.png"),cc.Sprite:create("majia/images/battle/boosSlider.png"),cc.Sprite:create("majia/images/battle/transparent.png"))slider_Boos.Slider:setPosition(cc.p(display.width*(280/1136),display.he... 查看详情

cocoscreator3.0基础——事件系统(代码片段)

触摸事件触摸事件指的是用户手指触摸时候的事件TOUCH_START:当手指触点落在目标节点区域内时。TOUCH_MOVE:当手指在屏幕上移动时。TOUCH_END:当手指在目标节点区域内离开屏幕时。TOUCH_CANCEL:当手指在目标节点区... 查看详情

cocoscreator核心概念里的基础点

1,锚点:是节点位置的参照点,也是自身旋转,缩放的基准点,也是子节点坐标原点。X、Y描述横纵向的锚点位置。注:锚点的取值是可以超过(0,0)~(1,1),即锚点并不在节点尺寸范围内。2,子节点:子节点的属性受父节... 查看详情

cocoscreator基础-(三十三)一些常用技巧(子节点显示顺序单点触摸)(代码片段)

设置父节点下子节点显示顺序  尝试过设置zIndex,手动调用parent.sortAllChildren(),都不是很好用,最终用下面代码实现了每次点击让当前选中的节点处于最上方的效果setSiblingIndexthis.max_index=10;this.node.setSiblingIndex(thi... 查看详情

cocos2d-xjs中创建node的方法

1、精灵Sprite一共4种创建方式(1)根据图片资源路径创建1234//参数1:图片资源路径var sprite1 = cc.Sprite.create("res/zifeiyu.png");//参数1:图片资源路径,参数2:显示区域var sprite2 = cc.Sprite.create("res/zifeiyu.png",cc. 查看详情

进击3d游戏界!cocoscreator快速实现骨骼动画交互!

文章目录前言一、CocosCreator简介?二、快速上手CocosCreator1.任何语言学习,先概览一遍文档2.跟随官方Demo,进行游戏的制作三、如何自己实现骨骼模型和界面交互1.创建项目2.添加地板3.渲染人物模型,使人物模型能正确站在地板上4.调... 查看详情

初学cocoscreator收集的视频教程

技术胖 CocosCreator基础视频教程(共5集)简介和HELLOWORLD 软件界面介绍和跳动的小球制作 SCENE介绍和基本操作 玩家输入事件监听操作 PREFAB和计时器  http://jspang.com/category/learn/jichu/技术胖 CocosCreator实... 查看详情

cocoscreator知识点记录

1、基础类型letintType:number=8;letboolType:boolean=false;letstringType:string=`stringTest$intType+1`;letarrayType:number[]=[1,2,3];letarrayGeneric:Array<number>=[4,5,6 查看详情