自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

W_han__的博客

学习总结应用

  • 博客(41)
  • 资源 (7)
  • 收藏
  • 关注

原创 碰撞检测

local scheduler = require("framework.scheduler")-- 定时器检测scheduler.scheduleGlobal(function ( )-- 攻击self:checkCollision()endfunction FightLayer:checkCollision( ) if not self.hero.isA

2016-01-28 20:40:17 451

原创 TableView2

#ifndef __TableView_H__#define __TableView_H__#include "cocos2d.h"#include "cocos-ext.h"USING_NS_CC;USING_NS_CC_EXT;class TableView : public Layer, public TableViewDataSource{public: TableV

2016-01-28 20:09:57 315

原创 TableView

#ifndef __TableView_H__#define __TableView_H__#include "cocos2d.h"#include "cocos-ext.h"USING_NS_CC;USING_NS_CC_EXT;#if 0class MyDataSource : public TableViewDataSource{public: Vector _ce

2016-01-28 20:07:20 458

原创 ScrollView

#ifndef __ScrollView_H__#define __ScrollView_H__#include "cocos2d.h"#include "cocos-ext.h"USING_NS_CC;USING_NS_CC_EXT;class ScrollView : public Layer{public: ScrollView(); ~ScrollView();

2016-01-28 20:05:21 323

原创 cocos KeyBoard

EventListenerKeyboard* keyev = EventListenerKeyboard::create(); keyev->onKeyPressed = [](EventKeyboard::KeyCode key, Event*){ if(key == EventKeyboard::KeyCode::KEY_J) { // 表示j键被按下 CCLOG("j

2016-01-28 20:01:28 439

原创 TiledMap格子地图

#ifndef __T10TiledMap_H__#define __T10TiledMap_H__#include "cocos2d.h"USING_NS_CC;class T10TiledMap : public Layer{public: T10TiledMap(); ~T10TiledMap(); CREATE_FUNC(T10TiledMap); bool in

2016-01-28 19:57:19 1457

原创 cocos中ProgressTimer,进度条

#ifndef __T05ProgressTimer_H__#define __T05ProgressTimer_H__#include "cocos2d.h"USING_NS_CC;static const char *files[]{ "arrows.png ", "arrowsBar.png ", "assetMgrBackground2.png

2016-01-28 19:54:47 584

原创 TCP UDP HTTP

TCP// socket通信 SOCKET sock = socket(AF_INET, SOCK_STREAM, 0); if (sock == INVALID_SOCKET) { CCLOG("create socket error"); return; } // 连接服务器 struct sockaddr_in addr; addr.sin_family = AF

2016-01-26 00:00:02 290

原创 Json文件解析cocos

std::string str = FileUtils::getInstance()->getStringFromFile("config.json"); rapidjson::Document doc; doc.Parse(str.c_str()); rapidjson::Value& v = doc["init_cfg"]; rapidjson::Value& uploadPort

2016-01-25 23:54:54 479

原创 Cocos Sprite创建的5种方法

方法-:直接创建//适合于要显示这张图片的全部区域;CCSprite *sprite = CCSprite::create("Icon.png");方法二:参数,图片名称 矩形区域//适合于显示图片的部分区域CCSprite* sprite = CCSprite::create("Icon.png",CCRectMake(0, 0, 30, 30));方法三:利用帧

2016-01-25 23:44:52 1615

原创 cc.DrawNode

-- hero的边框 self:heroRect()function FightLayer:heroRect( ... ) if self.heroRectNode then self.heroRectNode:removeFromParent() end -- hero是移动的 随时删除创建 根据Position位置创建 self.heroRectNode = cc.DrawNode

2016-01-25 23:35:23 747 2

原创 for i,v in ipairs(self.npcs) do

创建表  NPC数组   self.npcs = {}插入到数组中able.insert(self.npcs, npc)遍历删除 for i,v in ipairs(self.npcs) do -- 判断是否移除NPC if ( v.face == "right" and v:getPositionX() > display.widt

2016-01-25 18:03:16 1058

原创 quicklua随机数

-- 随机种子math.randomseed(os.time()) local random = math.random() --0~1 之间的小数 local y = math.random(0, display.cy)    self:setPosition(x, y) local random = math.random(20) -- 1 ~ 20

2016-01-25 17:15:28 415

原创 读取xml文件的值 字符串的截取

xml文件中为 40001 10001_10009_10002_10003_10035_10017_10016_10019_10010 0.15_0.1_0.15_0.15_0.01_0.11_0.11_0.11_0.11lua文件中为 -- 小怪信息 self.soldierInfo = {} -- 放入Id 概率

2016-01-25 11:51:12 2428

原创 xml格式解析

//printf("项目中的xml解析\n");//得到路径const char *path = lua_tostring(L, 1);//得到 最后的表明const char *tableKey = lua_tostring(L, 2);lua_getglobal(L, "cc");lua_getfield(L, -1, "GameArgs");//把路径转为

2016-01-25 11:07:23 451

原创 lua 5.1参考手册

http://www.codingnow.com/2000/download/lua_manual.html

2016-01-25 00:09:56 326

原创 打包简记

Android环境搭建:1、启动Eclipse,点击Windows->Preference->Android 在安卓属性配置里面添加Android SDK2、如果没有Android版本,运行Android SDK Manager 下载相关版本(2,2以上 API8 到 4,0版本 API15,要根据需要设置Android版本3.0平板)3、配置NDK,打开环境变量,在当前用户设置NDK

2016-01-25 00:05:11 324

转载 Qicklua 定时器

计时器,就是让系统每隔一段时间调用我们的函数,来处理一些事情,比如飞机战斗游戏中,子弹与敌机之间的碰撞,系统每一帧调用检测函数,检测两者是否碰撞。quick里面帮我们把cocos2dx lua提供的scheduler封装到了framework里面的scheduler.lua文件里面。注意:计时器模块在初始化中不会自动载入,所以我们得手动获得这个模块

2016-01-24 23:58:14 347

原创 quick-lua攻击按键

--攻击按键self.atkBtn = cc.ui.UIPushButton.new({normal = "#joyStickButton.png",pressed = "#joyStickButtonHighLight.png",disabled = "#joyStickButton.png",}):onButtonClicked(function ( ... )pr

2016-01-24 23:53:32 884

原创 GameScene 三木运算符

----组织架构GameScene( 战斗层    控制层)-- require("fightLayer")-- 创建hero (可以再次封装)        -- hero:根据controllayer的状态进行控制,进行动作-- 执行的动作,释放技能-- 定时器 移动hero-- require("controlLayer")-- 加载资源,创建控制-- 移动

2016-01-24 23:47:19 931

原创 C++程序员对c 说的话

1、在 C++中几乎不需要用宏,用 const 或 enum 定义明显的常量,用 inline 避免函数调用的额外开销,用模板去刻画一族函数或类型,用 namespace 去避免命名冲突。2、不要在你需要变量之前去声明,以保证你能立即对它进行初始化。3、不要用 malloc,new 运算会做的更好4、避免使用 void*、指针算术、联合和强制,大多数情况下,强制都是设计错误的指示

2016-01-23 23:45:39 392

原创 析构 构造 赋值

拷贝构造(Copy contructor)由己存在的对象,创建新对象。也就是说新对象,不由构造器来构造,而是由拷贝构造器来完成。拷贝构造器的格式是固定的。class 类名{类名(const 类名 & another)拷贝构造体}class A{A(const A & another){}}1 系统提供默认的拷贝构造器。一经实现,不复存在。

2016-01-23 23:44:10 537

原创 简述strcpy、sprintf与memcpy的区别

三者主要有以下不同之处: (1)操作对象不同,strcpy的两个操作对象均为字符串,sprintf的操作源对象可以是多种数据类型,目的操作对象是字符串,memcpy 的两个对象就是两个任意可操作的内存地址,并不限于何种数据类型。 (2)执行效率不同,memcpy最高,strcpy次之,sprintf的效率最低。 (3)实现功能不同,strcpy主要实现字符串变量间的拷贝,sprin

2016-01-23 23:38:09 1176

原创 虚函数

为什么虚函数必须是类的成员函数:虚函数诞生的目的就是为了实现多态,在类外定义虚函数毫无实际用处。 为什么类的静态成员函数不能为虚函数:如果定义为虚函数,那么它就是动态绑定的,也就是在派生类中可以被覆盖的,这与静态成员函数的定义(:在内存中只有一份拷贝;通过类名或对象引用访问静态成员)本身就是相矛盾的。 为什么构造函数不能为虚函数:因为如果构造函数为虚函数的话,它将在执行

2016-01-23 23:37:00 348

原创 stl提供了三个最基本的容器:vector,list,deque

stl提供了三个最基本的容器:vector,list,deque。vector和built-in数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能非常好的支持随即存取,即[]操作符,但由于它的内存空间是连续的,所以在中间进行插入和删除会造成内存块的拷贝,另外,当该数组后的内存空间不够时,需要重新申请一块足够大的内存并进行内存的拷贝。这些都大大影响了vector的效率。l

2016-01-23 23:33:38 290

原创 链表 合并

// 单链表.cpp : 定义控制台应用程序的入口点。  //单链表  #include "stdafx.h"  #include  #include  using namespace std;    typedef struct node {      int data;//节点内容      node *next;//下一个节点  }node;  

2016-01-23 23:31:12 295

原创 打印行号 文件名

在项目中使用[cpp] view plaincopy/********************************************************     *  @author   : ChenMH     *  @date     : 2013/05/24 10:11     *  @brief    : 定义调试打印宏 ***************

2016-01-23 23:29:40 444

原创 字符串分割,字符串拷贝,单词逆置,单词逆置

l o v a b l ee l b a v o lint main(){    char s[] = "lovable";    char *beg = s;    char *end = beg + strlen(beg) - 1;/*单词逆置*/    while(beg     {        char temp = *beg;     

2016-01-23 23:27:34 483

原创 迭代器的遍历删除()

#include #include susing namespace std;int main(){    int arr[] = {10, 20, 30, 40, 10, 10, 50, 30};    vector vec(arr, arr+8);/* 一边遍历一边删除 应该注意++it*/    for(vector::iterator it

2016-01-23 23:17:04 1284

原创 移动 摇杆的创建

function ControlLayer:createDir(  )--加入摇杆背景self.dirBg = display.newSprite("#joyStick.png")self:addChild(self.dirBg)self.dirBg:setPosition(self.dirBg:getContentSize().width*0.5 + 20, self.dir

2016-01-20 21:09:37 492

原创 添加touch事件 addNodeEventListener

-- 摇杆球self.dir = display.newSprite("#joyStickCenter.png")self.dirBg:addChild(self.dir)self.orginPoint = cc.p( self.dirBg:getContentSize().width*0.5,self.dirBg:getContentSize().height*0.5 )self

2016-01-20 20:15:23 514

原创 Animation 优化

优化:动画,先判断是否是应经加载过了 如果是的话就不要再继续加载了,做一下判断--防止重复加载local animation = display.getAnimationCache(plistName)if animation then return animation end选中未被选中的状态改变,选中执行动画每次选择都要做一个判断self.hero:st

2016-01-20 20:10:17 448

转载 UI中涉及到定时器的显示

最近在项目中色涉及到在页面跳转是如果新的页面中有倒计时显示的时候,需要在页面跳转后直接显示倒计时而不是UI默认数值再跳到显示时间。原来的做法是加一个缓冲的控件 ,跳转新页面,先让页面不显示,在定时器函数中显示新的数值时候再让页面显示 然后让缓冲控件隐藏。这样的做法隐藏的控件需要写在显示页面之后。最近发现一种更好的做法,在写的定时器函数中让函数自己将自己调用一次,就直接可也在页面的e

2016-01-20 00:51:24 500

原创 coocsstudio使用经验,导出资源

在实际使用cocosstudio 中自己对照美术给的图,拼出来的界面 策划经常不满意(位置不对,字体大小不对各种鸡毛的事情),这个时候就可以把美术的图作为底层,在这个底层上面拼图,他们就没话可说了,就像小时候画画印着原图画!         布局的时候适当用cocos对齐工具目标:使用CocoStudio导出资源并调用                   cocos2dx 3.

2016-01-20 00:38:33 1294

转载 cocosstudio 面板 和层 和 图片的触碰

在游戏中经常碰到点击图片或者空白区域要使得一些面板出现或者隐藏,这个时候如果 点击的区域是图片的话  那么想要将图片设为可点击的例如 Image 是一个图片,那么就要设置Image:setTouchEnabled(true) 然后在加入触碰事件[plain] view plain copyImage:setTouchEnabled(t

2016-01-20 00:35:36 436

转载 单例模式

单例模式(Singleton)是软件开发中较常用的一种设计模式思想,在有些情况下,某一个事物我们只需要生成一个实例对象即可。比如,一台计算机可以同时连接多台打印机,但在某一时刻只能处理其中某一台的打印业务,因此计算机的打印程序只能有一个,所以就要通过单例模式来实现该功能以避免两个打印作业同时输出到打印机中。简单来说,单例模式就是在整个应用程序的生命周期中,单例类的实例对象最多只存在

2016-01-20 00:27:18 513

转载 如何优化cocos2d/x程序的内存使用和程序大小

转载自: http://blog.csdn.net/xiaominghimi/article/details/8283822首先感谢 子龙 兄弟对文章翻译的贡献,子龙博客原文地址:http://www.cnblogs.com/zilongshanren/archive/2012/12/09/2810017.html再次感谢原创者:Steffen Itte

2016-01-20 00:20:18 331

转载 lua_api

转载自:http://www.cnblogs.com/ringofthec/archive/2010/10/22/lua.htmlhttp://www.cnblogs.com/ringofthec/archive/2010/11/04/luaapi.htmlhttp://www.cnblogs.com/ringofthec/archive/2010/11/09/lua_State.

2016-01-20 00:03:30 373

原创 定时器 ProgressTimer 进度条.quick-lua

---------------------------------------进度条------------------------------------------------  --进度条背景    local barBg = display.newSprite("#loadingScene_frame.png")    self:addChild(barBg)    bar

2016-01-19 23:40:25 577

原创 quickLua Animation 封装((.plist .png))

--[[全局函数 (工具类)把项目中公共的函数 封装到这个文件中]]-- plist 文件路径function getAnimation( _plistName, _heroId,_action,_time)-- print("引用全局函数")local plistName = _plistNamelocal animation = display.getAni

2016-01-19 23:34:54 345

CocosCreator Debugger

1. chrome 调试cocoscreator 节点树

2022-02-07

cocos2d-x-3.17.2.zip

cocos2d-x-3.17.2

2021-08-06

axure_chrome_extension_V0.6.3.zip

axure rp extension for chrome插件下载

2021-05-28

cocos2d-html.min.zip

cocos2d-html.min.js 导入到项目中,配合使用webstorm 可以直接跳转到定义,非常的好用,建议coco2d-js 开发者尝试使用,哈哈,乐于分享

2019-11-18

python tiny 压缩png,jpg图片

Python 脚本压缩图片 png , jpg . 只需要在放好的文件的位置 修改里面文件路径就可以直接使用了,但是得需要你配置一下tiny的账号配置

2019-11-16

ELSsquare.zip

使用cocosCreator2D 开发的俄罗斯方块代码,通过 a s d w 和 空格 即可以进行游戏

2019-10-29

protobuf.js 6.8.8

javaScript 开发可以使用的的protobuf.js, 下载了就可以放到代码使用

2019-10-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除