![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Cocos2d
振长策而御宇内
一只在编程海洋中遨游的小虾米
展开
-
cocos2d-js绑定C++类注意事项
在js绑定C++类,需要C++类继承 public cocos2d::Ref或其子类,否则脚本释放的时候会异常导致闪退 参考:C++:class DataManager : public cocos2d::RefJS bind:jsb_data_manager_class->name = "DataManager";或class ResourceManager :...原创 2018-07-20 12:36:35 · 369 阅读 · 0 评论 -
cocos2d-js 控件——UIScrollView
ScrollView公有属性、方法/** * ScrollView的滚动方向 */enum class Direction{ NONE, VERTICAL, HORIZONTAL, BOTH};/** * ScrollView的滚动事件类型 */enum class EventType{ SCROLL_TO_TOP, // ...原创 2018-10-29 10:53:32 · 584 阅读 · 0 评论 -
cocos2d-js 控件——WebView
WebView公有属性、方法/** * 设置javascript接口前缀(用于JS交互作用) * 例如设置为"js",那么页面在跳转"js://xxx"时,会走setOnJSCallback回调 */void setJavascriptInterfaceScheme(const std::string &scheme);/** * 设置主页内容、MIME类型、内容编码,基本...原创 2018-10-29 10:53:48 · 2874 阅读 · 0 评论 -
cocos2d-js 控件——UIText
UIText公有属性、方法/** * 文本类型 */enum class Type{ SYSTEM, // 系统 TTF // TTF};/** * 构造函数 */Text();/** * 创建一个Text对象 * @return Text对象 */static Text* create();/** * 用textContent,...原创 2018-10-29 10:54:05 · 426 阅读 · 0 评论 -
cocos2d-js 控件——UITextAtlas
UITextAtlas(艺术字)公有属性、方法/** * 构造函数 */TextAtlas();/** * 创建一个TextAtlas对象 * @return TextAtlas对象 */static TextAtlas* create();/** * 从一个字符映射文件创建一个TextAtlas对象 * @param stringValue 给定需要显示的字符串 ...原创 2018-10-29 10:54:22 · 244 阅读 · 0 评论 -
cocos2d-js 控件——UITextBMFont
UITextBMFont(FNT文字)公有属性、方法/** * 构造函数 */TextBMFont();/** * 构造函数 * @param text 显示的文本 * @param filename fnt文件路径 * @return TextBMFont对象 */static TextBMFont* create();static TextBMFont* ...原创 2018-10-29 10:54:37 · 286 阅读 · 0 评论 -
cocos2d-js 控件——UITextField
UITextField(输入框,无光标)公有属性、方法/** * TextField事件类型 */enum class EventType{ ATTACH_WITH_IME, // 键盘弹出 DETACH_WITH_IME, // 键盘回收 INSERT_TEXT, // 输入字符 DELETE_BACKWARD, // 删除字符};/**...原创 2018-10-29 10:56:53 · 376 阅读 · 0 评论 -
cocos2d-js 控件——RenderTexture
RenderTexture 公有属性、方法/** * 通过宽度、高度、像素点格式(仅RGB和RGBA格式有效)、深度模板格式初始化一个RenderTexture对象 * @param w 渲染纹理对象的宽度 * @param h 渲染纹理对象的高度 * @param format 像素点格式(只有RGB和RGBA格式是有效的) * @param depthStencilFormat ...原创 2018-11-03 14:34:44 · 747 阅读 · 0 评论 -
cocos2d-js 控件——UIListView
UIListView 公有属性、方法/** * ListView子控件的对齐方式 */enum class Gravity{ LEFT, // 局左对齐 RIGHT, // 局右对齐 CENTER_HORIZONTAL, // 水平居中对齐 TOP, // 居上对齐 ...原创 2018-11-03 14:52:21 · 1389 阅读 · 0 评论 -
cocos2d-js 枚举——ccui
cocos2d-js中 cc.xxx枚举/** * 文本水平对齐方式 */cc.TEXT_ALIGNMENT_CENTER = 1;cc.TEXT_ALIGNMENT_RIGHT = 2;cc.TEXT_ALIGNMENT_LEFT = 0;/** * 文本垂直对齐方式 */cc.VERTICAL_TEXT_ALIGNMENT_TOP = 0...原创 2018-10-29 10:53:15 · 536 阅读 · 0 评论 -
cocos2d 贝塞尔曲线学习(二)
在Cocos2d-x中贝塞尔曲线运动的封装类为CCBezierTo和CCBezierBy。这两个Action都需要传入一个参数ccBezierConfig,这是一个结构体,这个结构体有三个字段1.CCPoint endPosition:结束点2.CCPoint controlPoint_1:控制点13.CCPoint controlPoint_2:控制点2两个控制点的会影响曲线的变化趋势...转载 2018-10-19 18:13:00 · 578 阅读 · 0 评论 -
cocos2d-js 使用正片叠底实现图片剪裁
现实中需要实现把已知大图剪裁成规定圆形图片,需要使用一个圆形背景和已知大图进行正片叠底,圆形背景除了中间的圆其他地方为黑色,这样融合后黑色吞掉圆形区域外的颜色,达到剪裁效果 黑色背景图如下: 步骤如下: 传入参数,背景,遮罩,尺寸,target等ChapterInfoManager.getTextureByHeroBody = function (chapter_info,targe...原创 2018-08-09 15:09:52 · 1366 阅读 · 0 评论 -
cocos2d-js widget灰度shader接口
将widget和其子控件进行灰度和正常进行显示切换LayoutConfig.setWidgetGrayEffect = function (widget,enable, shaderName = undefined) { var shader = LayoutConfig.getShaderMap(shaderName || (enable ? "ui_gray" : "ui_norm...原创 2019-10-12 11:43:38 · 304 阅读 · 0 评论 -
cocos2d-x-3.16 使用csb遇到问题
在cocos2d-x-3.16版本使用csb加载界面,对于子控件进行clone操作时,如果子控件中有旋转(Rotation)操作,会在底层报错,原因显示:CCNode#rotation. RotationX != RotationY. Don't know which one to return原断言为:CCASSERT(_rotationZ_X == _rotationZ_Y, "C...原创 2018-08-13 16:26:56 · 1147 阅读 · 0 评论 -
cocos2d cclog删除重复打印
好多系统报错打印会打印多,刷屏,修改CCConsole.cpp文件可保证多行相同打印只打印一次: cpp文件中声明变量:static std::string _bufcopy;修改_log函数,对于重复上次的输入直接return: void _log(const char *format, va_list args) { /////// 省略 ...原创 2019-10-12 11:43:31 · 289 阅读 · 0 评论 -
cocos2d 增加cclog打印长度
如果log过长,比如网络消息太大,使用cclog打印的时候会打印不出来,甚至报错 在CCConsole.h中可以增加max length:/// The max length of CCLog message.static const int MAX_LOG_LENGTH = 128*1024;64 –> 128 即可...原创 2018-09-10 15:07:07 · 335 阅读 · 0 评论 -
cocos2d SpriteFrameCache和SpriteBatchNode综合使用
SpriteFrameCache:用于快速加载,一次加载一整张图片cc.SpriteFrameCache.getInstance().addSpriteFrames("res/ui/worldBoss/worldbossmap.plist");var spriteFrame = cc.SpriteFrameCache.getInstance().getSpriteFrame(cellDa...原创 2018-09-07 16:21:38 · 427 阅读 · 0 评论 -
Cocos2d-x CCLOG封装
在cocos2d-x-3.16版本中使用console.log打印时,有时可能因为字符串太长打印不了,封装一个接口用于打印多种情况HelpTool.log = function() { var objToString = function(obj, str) { str = str || ""; if(typeof obj === "string" || ...原创 2019-10-12 11:43:26 · 314 阅读 · 0 评论 -
cocos2d 贝塞尔曲线学习(一)
一.贝赛尔曲线简介贝塞尔曲线是应用于二维图形应用程序的数学曲线。曲线的定义有四个点:起始点、终止点(也称锚点)以及两个相互分离的中间点。滑动两个中间点,贝塞尔曲线的形状会发生变化p0起点,p3是终点,p1,p2是控制点http://en.wikipedia.org/wiki/Bézier_curve二.游戏应用我们可能需要在游戏中模拟导弹或箭的移动轨迹,用才cocos2d-x下的bez...转载 2018-10-19 18:07:14 · 1219 阅读 · 0 评论 -
cocos2d-js 控件——UILoadingBar
UILoadingBar 公有属性、方法/** * 进度条方向 */enum class Direction{ LEFT, // 左至右 RIGHT // 右至左};/** * 构造函数 * @return UILoadingBar实例 */LoadingBar();static LoadingBar* create();/** * 使用图片名称和预...原创 2018-11-03 14:53:51 · 383 阅读 · 0 评论 -
cocos2d-js 控件——UIPageView
UIPageView 公有属性、方法/** * 翻页事件类型 */enum class EventType{ TURNING};/** * 触摸方向类型 */enum class TouchDirection{ LEFT, RIGHT, UP, DOWN};/** * UIPageView页面翻页事件回调 */typede...原创 2018-11-03 14:55:33 · 403 阅读 · 0 评论 -
cocos2d-js 控件——UIRichText
UIRichText(富文本元素基类,它定义了所有富文本元素的基本公共属性)公有属性、方法/** * 富文本类型 */enum class Type{ TEXT, // 文本 IMAGE, // 图片 CUSTOM, // 自定义内容 NEWLINE // ?};RichElementText(用于显示文本)/** * 创建RichElem...原创 2018-11-03 15:01:11 · 818 阅读 · 0 评论 -
cocos2d-js 屏幕横向无限滚动
有两张一样的左右连接的图片进行左右排列,根据拖拽偏移量计算出当前显示的主要index,设置其位置,然后根据四舍五入情况,设置另外一张图片的位置,上下平移同理。1.首先将四张图片增加到拖拽层,确保单张图片长度大于屏幕长度initWaveBg: function() { var wavePanel = cc.Node.create(); wavePanel.setContentSi...原创 2019-10-12 11:43:19 · 733 阅读 · 0 评论 -
cocos2d-js 生成轴对称贝塞尔曲线并沿着曲线移动
首先要将startPoint和endPoint转化成一个y轴坐标,然后控制controlPoint_1和controlPoint_2来绘制一个轴对称的抛物线,用height来控制抛物线高度/*创建一个抛物线动作参数: time 时间 startPoint 开始点 endPoint 结束点 height ...原创 2019-10-12 11:43:14 · 1719 阅读 · 3 评论 -
cocos2d 转圈倒计时实现
项目过程中经常要求完成一个转圈倒计时或者进度条效果:可以使用ProgressTimer进行实现:var percentNow = 10 + 0.8*parseInt(nowNum / sdata.limit * 100); // 因为进度条底部有遮挡,从10%-90%显示0-100var progressNow = cc.ProgressTimer.create(cc.Sprite...原创 2019-10-12 11:43:02 · 1237 阅读 · 0 评论 -
cocos2d-js通用弹出界面类
制作一个通用弹出界面类,用于制作弹出动画,退出动画等///通用弹出式界面,背景透明,附带弹出动画。LayoutConfig.NormalBaseLayer = cc.Layer.extend({ _exit_target: null, _exit_func: null, _layout: null, _UI_LAYOUT_JSON: null, _is_...原创 2019-10-12 11:42:40 · 603 阅读 · 0 评论 -
cococs2d windows工程运行不显示控制台输出窗口
cocos2d windows工程运行时不显示控制台输出窗口需要修改windows工程中的main.cpp文件,对本机电脑名进行过滤:#include "main.h"#include "AppDelegate.h"USING_NS_CC;int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPT...原创 2019-10-12 11:43:09 · 416 阅读 · 0 评论 -
cocos2d 实现翻牌动画
使用cc.OrbitCamera实现翻牌效果// 翻转动画 翻牌// sBack牌背// sFront牌面ccs.runFlipAnim = function (sBack, sFront, duration, cb) { sBack.setPosition(sFront.getPosition()) sFront.getParent().addChild(sBack, s...原创 2019-10-12 11:42:33 · 393 阅读 · 0 评论 -
cocos2d C++层json转换
C++层转换json格式std::string announce = "{\"content\":\"您所处在的服务器正在维护中,这句话是运营配置的\",\"title\":\"???\"}"rapidjson::Document *doc = new rapidjson::Document();doc->Parse<0>(announceStr.c_str());std...原创 2019-02-27 14:16:56 · 195 阅读 · 0 评论 -
windows环境模拟iPhoneX适配
在resolution.ini增加isiPhoneX配置[resolution]width=1138height=640frameFactor = 1isiPhoneX = 1在AppDelegate中读取配置并设置安全区域 int width = 960; int height = 640; float frameFactor = 1.f; bool isiPh...原创 2019-10-12 11:42:17 · 703 阅读 · 0 评论 -
cocos2d-js 控件——UIScale9Sprite
UIScale9Sprite公有属性、方法/** * 内置着色器状态 * 目前支持 默认 和 灰色 状态。 */enum class State{ NORMAL, GRAY};/** * 渲染类型 */enum class RenderingType{ SIMPLE, SLICE};/** * 创建一个空的Scale9Sprite...原创 2018-11-05 17:12:06 · 634 阅读 · 0 评论 -
cocos2d-js 控件——UIEditBox
UIEditBox公有属性、方法UIEditBoxDlegate/** * 编辑框获得焦点时,在弹出键盘后调用此方法 * @param editBox UIEditBox */virtual void editBoxEditingDidBegin(EditBox* editBox) {};/** * 编辑框失去焦点时,在隐藏键盘后调用此方法 * @param editBox ...原创 2018-11-05 17:09:56 · 1241 阅读 · 1 评论 -
cocos2d-js 控件——UIScrollViewBar
UIScrollViewBar(ScrollView滚动条) 公有属性、方法/** * 使用其父类滚动视图和方向创建一个滚动条 * @return UIScrollViewBar */static ScrollViewBar* create(ScrollView* parent, ScrollView::Direction direction);/** * 从左下角(水平)或右上角...原创 2018-11-03 15:04:53 · 295 阅读 · 0 评论 -
cocos2d-js 控件——UISlider
UISlider 公有属性、方法/** Slider事件 */enum class EventType{ ON_SLIDEBALL_DOWN, ON_SLIDEBALL_UP, ON_SLIDEBALL_CANCEL};/** * 构造函数 * @param barTextureName Slider背景图片 * @param ...原创 2018-11-03 15:06:36 · 723 阅读 · 0 评论 -
cocos2d-js 控件——UIButton
UIButton公有属性、方法/** * 创建一个UIButton实例 * @param normalImage 默认状态时的图片 * @param selectedImage 点击状态时的图片 * @param disableImage 禁用状态时的图片 * @param texType 图片类型(Local、Plist) * @return UIButton实例...原创 2018-11-03 15:10:55 · 701 阅读 · 0 评论 -
cocos2d-js 控件——UIAbstractCheckButton
UIAbstractCheckButton公有属性、方法/** * 创建一个复选框 * @param backGround 默认状态背景图片 * @param backGroundSelected 选中状态背景图片 * @param cross 选中状态勾选图片 * @param backGroundDisabled 禁...原创 2018-11-03 15:12:00 · 227 阅读 · 0 评论 -
cocos2d-js 控件——UICheckBox
UICheckBox公有属性、方法/** * UICheckBox的两个状态 */enum class EventType{ SELECTED, UNSELECTED};/** * 交互事件回调 */typedef std::function&lt;void(Ref*,CheckBox::EventType)&gt; ccCheckBoxCallback;...原创 2018-11-03 15:14:26 · 335 阅读 · 0 评论 -
cocos2d-js 控件——UIRadioButton
UIRadioButton公有属性、方法/** * 状态类型 */enum class EventType{ SELECTED, UNSELECTED};/** * UIRadioButton回调 */typedef std::function&amp;lt;void(RadioButton* radioButton, EventType)&amp;gt; ccRadioBu...原创 2018-11-05 17:04:59 · 422 阅读 · 0 评论 -
cocos2d-js 控件——UIImageView
UIImageView公有属性、方法/** * 创建一个UIImageView实例 * @param imageFileName 图片 * @param texType 图片类型(Local、Plist) * @return UIImageView实例 */static ImageView* create(const std::string&amp; imageFileN...原创 2018-11-05 17:06:43 · 526 阅读 · 0 评论 -
shader特效整理
【GLSL教程】(一)图形流水线【GLSL教程】(二)在OpenGL中使用GLSLOpenGL纹理详解(上)(https://www.jianshu.com/p/1829b4acc58d)游戏中的3D数学知识之法线的应用(https://mp.weixin.qq.com/s/6q8h2Bhi5FDj9_IMSMUOuw)Unity Shader-法线贴图(Normal)及其原理 - CSD...原创 2019-02-27 14:17:47 · 491 阅读 · 0 评论