自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

涐①直嘟恠的博客

不要给自己的失败找任何借口~

  • 博客(60)
  • 资源 (1)
  • 收藏
  • 关注

原创 图文混排

local ImgTextControl = class(ImgTextControl,function() return cc.Node:create() end)TextHAlignment ={ LEFT=0, CENTER=1, RIGHT=2}TextVAlignment = { TOP=0, CENTER=1, BOTTOM=2,

2016-11-09 18:02:54 515

原创 cocos2d-x中Contestsize和Dimensions有什么不同?

其他他们直接的差别不大,都是节点未转化前大小!Dimensions翻译为:规模,大小; 我们先看一下他们的源码: /* Sets the untransformed size of the Label in a more efficient way.(其实就是一种更加高效的设置Size的方式) / void Label::setDimensions(float width, float hei

2016-11-08 20:55:51 538

转载 HTTP Request的Get、Post的区别

HTTP 定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST(Ajax开发,关心的只有GET请求和POST请求)。GET与POST方法有以下区别:(1) 在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。(2) GET方式提交的数据最多只能有1024 Byte,而POST则没有此限制。(3) 安全性问题

2016-11-07 16:34:42 634

原创 cocos2dx 3.x 相机机制

cocos2dx 3.x 相机机制一,3.x相机使用方法:  CCSize winSize=CCDirector::sharedDirector()->getWinSize();Camera* camera=Camera::create();camera->setCameraFlag(CameraFlag::USER1);this->addChild(camera);sprite->setCamer

2016-09-30 17:28:37 3599 1

原创 实现SLG地图

要实现一副SLG地图,基本元素有5块地皮,有四块地皮上不能放东西,一块地皮上可以放主城或者是晶石。策划文档如上,要实现的效果如下: 源 代码:local MapUI = class("MapUI", function () return cc.Layer:create() end)function MapUI:ctor() self.mapLayer =cc.Layer:creat

2016-09-23 18:34:17 5283

原创 cmd命令

1、@ 它的作用是隐藏它后面这一行的命令本身(只能影响当前行)。 2、echo 中文为“反馈”、“回显”的意思。它其实是一个开关命令,就是说它只有两种状态:打开和关闭。于是就有了echo on和echo off两个命令了。直接执行echo命令将显示当前echo命令状态(off或on)执行echo off将关闭回显,它后面的所有命令都不显示命令本身,只显示执行后的结果。 echo. :输出空行

2016-09-21 17:38:29 1502

原创 防止tableview滚动误点击

![这里写图片描述](http://img.blog.csdn.net/20160919111512396)如图所示,我们实现了点击tableview里的坦克上、下阵,但是有个问题就是当我们滚动tableview松开鼠标的时候会有误操作,而我们需要的效果是滚动时不会选中,不滚动时才会选中。 以下是第一次修改的部分代码:--点击时调用接口function BuZhenMainUI:bindIte

2016-09-19 11:39:47 909

原创 上下级控件同名引发的血案

如图,本来是想美术出5个星星的图案,让其都能居中显示。本来很简单的一件事,结果导出发现坦克模型跑到框下面去了。然后找了大半个小时才发现居然是模型层跟2个星星的层同名了,而且在同一级。好吧,把模型的名字改了,然后发现还是不行,整个tableview都显示是空的。--设置tableview里cell的内容function BuZhenMainUI:setCellContent(cell,tank)

2016-09-14 18:23:08 300

原创 setEnabled和setTouchEnabled的区别

local TankShowLayer = class("TankShowLayer", function () return cc.Layer:create() end)local modelList = { [1] = "res/model3d/1000_Tianqi/tianqitanke.c3b", [2] = "res/model3d/1001_Guangleng/gu

2016-09-13 16:22:11 5946 1

原创 CCScale9Sprite实现技能选中效果

如图,当我们选中技能的时候,要用个框把需要的技能点数框起来,提示玩家消耗的能量。美术出图就出一个白色的一个的框,当需要的能量大于1时,如果仅仅将框放大,会失真严重。这个时候我们想到了九妹。【CCScale9Sprite】对于CCScale9Sprite类,不知道该怎么翻译,有人叫它点九图,有人叫它九宫图,有有人叫它九妹图。i_f08.gif那么什么是CCScale9Sprite呢?CCScale9S

2016-09-12 17:46:00 1177

原创 缓慢增加的能量条的实现

之前我们有用ProgressTimer实现技能CD,现在我们用它来实现一个能量条满的过程。 需求如下: 1.当没满一小格时底层不透明的匀速增加 2.当满一小格时上一层的从格子左边立马推进,同时这个格子会亮一下(用特效实现) 3.当整个能量条满时播放流光特效 部分代码: local sprite = cc.Sprite:create("ui/Resources/btn/btn_

2016-09-12 16:05:03 1483

原创 cocos2dx屏幕适配

手机的屏幕大小千差万别,如现在流行的安卓手机屏幕大部分长宽比例为16:9。而iPhone 5S的长宽比例为71:40(接近16:9),也有预测说iPhone 6S的长宽比例也将会是主流的16:9。另外还有一些平板电脑为4:3、16:10、5:4等等。当然还有一些其他的牌子可能屏幕比例也不一样。    要想让你的程序在各种手机上都能很好的呈现游戏画面,就需要进行屏幕适配。【致

2016-09-06 16:00:50 457

原创 实现技能CD

local cool = cc.Sprite:create("res/common/image/icon/cd.png")--黑色半透明图片    cool:setPosition(self.icon:getPosition())    self.view:addChild(cool,4)    local sprite = cc.Sprite:create(self.res)--

2016-08-31 17:54:38 548

转载 LuaJavaBridge - Lua 与 Java 互操作的简单解决方案

LuaJavaBridge - Lua 与 Java 互操作的简单解决方案Table of Contentsluaj 主要特征luaj 用法示例luaj 实现原理查找并调用指定的 Java 方法检查调用结果,并从 Java 方法获取返回值将 Lua function 作为参数传递给 Java 方法在 Java 方法中调用 Lua functionGL 线程和 U

2016-08-04 16:20:57 542

原创 详解cocos2dx状态机

目录注:写这篇文章的时候,笔者所用的是quick-cocos2d-x 2.2.1rc版本。quick状态机状态机的设计,目的就是为了避免大量状态的判断带来的复杂性,消除庞大的条件分支语句,因为大量的分支判断会使得程序难以修改和扩展。但quick状态机的设计又不同设计模式的状态模式,TA没有将各个状态单独划分成单独的状态类,相反根据js、lua语言的特点,特别设计了写

2016-08-03 18:06:24 1009

转载 do...while(0)的妙用

在C++中,有三种类型的循环语句:for, while, 和do…while, 但是在一般应用中作循环时, 我们可能用for和while要多一些,do…while相对不受重视。 但是,最近在读我们项目的代码时,却发现了do…while的一些十分聪明的用法,不是用来做循环,而是用作其他来提高代码的健壮性。do…while(0)消除goto语句。 通常,如果在一个函数中开始要分配一些资源,

2016-06-12 15:19:43 225

原创 暗黑远征总结

1.v.text = string.sub(v.text,7,-1)--去掉buff的名字,例如:v.text = 攻击#C(#00EE00)+%s,这时候要去掉前面的攻击2字,用string.sub,但是起始位置是7,因为一个中文占3个字节。2.如图,pageview翻页除了用手指滑动,还可以实际左右两个翻页按钮,但是要做好按钮灰化的同步。可以监听翻页事件,然后在事件里面做同步。lo

2016-05-27 16:41:03 701

原创 TableView跳转到指定的cell

如果需要每次点开的时候未打的关卡都在最左边,即移动到指定index的cell时,可以用setContentOffset。部分代码如下:            local moveIndex = EliteLevelHelp.findFDIndex(fbBoxList,fbID)            local offset = 0            if moveIndex

2016-05-13 14:41:30 1223

转载 ]cocos2d-x里子Sprite随父Sprite透明度变化

到这个问题,可能很多人早就知道了,这里就当做个记录好了。之前用老版本用久了,貌似没有发现子Sprite会随父Sprite的透明设置Opacity变化而变化。所以之前有Sprite嵌套的情况下处理的办法都是在每帧更新的时候去手动加上设置Opacity的代码。比如update(){this->setOpacity(getParent()->getOpacity());}

2016-05-09 15:13:35 904

原创 lua类的继承

local BuffScript = import(".BuffScript")local Damage = class("Damage", BuffScript)function Damage:ctor( srcFighter, dstFighter, skillScript, dstEffect, actFinishCallBack, effFinishCallBack, notS

2016-05-07 17:45:44 375

原创 require和import的区别

载入一个模块import() 与 require() 功能相同,但具有一定程度的自动化特性。以前一直以为require和import是一样的,但是在项目中local FightPointAdd = require("..ui.common.FightPointAdd")  不知道为什么这种用法在window下不报错,但是在安卓上有报错。只有import支持这种相对路径的写法,一个点表示

2016-04-28 21:33:37 9739

原创 linux开关防火墙

1.即时生效,重启后失效开启:service iptables start关闭:service iptables stop2 重启后生效开启:chkconfig iptables on关闭:chkconfig iptables off

2016-04-10 15:22:43 279

转载 lua使用毫秒

lua自带的时间函数只能到秒的精度。为了统计到毫秒精度的时间,可以使用luasocket。下载地址http://files.luaforge.net/releases/luasocket/luasocket编译安装的时候,你可能需要在源码包根目录下的config文件中指定LUAINC变量为你的lua路径。代码如下:local socket = require "socket

2016-03-29 11:14:22 5772

转载 setZOrder改名叫setlLocalZOrder

这篇博客的标题本想叫“...3.0新的渲染...介绍”,最后还是拉不下这个脸。为啥?觉得自己对渲染的认识还是过于表面,谈不上理解。当然了,这并不影响这篇博客继续写下去。下面看一段3.0Release Notes 对于新渲染器的一段介绍:Node 增加了新的函数 setGlobalZOrder() / getGlobalZOrder(),之前的旧函数 setZOrder() / getZOrde

2016-03-24 19:08:31 691

原创 设置button的禁用状态

按钮一般有三种状态:常用,点击,禁用,并且对应可设置三种不同的纹理图标。当需要设置禁用状态时,setTouchEnabled(false)还是不显示禁用的纹理,此时需要setBright(false)才行。

2016-03-15 09:50:39 3441

转载 svn“Previous operation has not finished; run 'cleanup' if it was interrupted“报错的解决方法

今天碰到了个郁闷的问题,svn执行clean up命令时报错“Previous operation has not finished; run 'cleanup' if it was interrupted”。无论你到那个父层次的目录执行“clean up “,都是报一样的错。执行cleanup时候,提示要cleanup。看来是进入死循环了。可能是频繁做了一些改名,文件打开的时候更新或者提

2016-03-11 12:26:33 331

原创 TableView

一、什么是TableView?这个东西啊,很多游戏,结束后的排行榜,比如里面有20个内容,但是由于窗口受限,不能全部展示,所以像滚动条一样可以纵向(当然也可以横向)拉动的东东。这个也要和ListView和PageView不一样的,? 与ListView相比ListView以前我也没用过,网上资料查到的也不多,就讲一下最大的不同吧。ListView中的每个单元称为item,Tab

2016-03-07 21:26:11 623

转载 四种强制类型转换的比较

前言这篇文章总结的是C++中的类型转换,这些小的知识点,有的时候,自己不是很注意,但是在实际开发中确实经常使用的。俗话说的好,不懂自己写的代码的程序员,不是好的程序员;如果一个程序员对于自己写的代码都不懂,只是知道一昧的的去使用,终有一天,你会迷失你自己的。C++中的类型转换分为两种:1.隐式类型转换; 2.显式类型转换。而对于隐式变换,就是标准的转换,在很多时候,不经意间就发生了,比如int类型

2016-02-24 20:09:27 510

原创 ip地址与int类型的转换

unsigned long ip_string2int(const std::string& str_ip) { //IP转化为数值 //没有格式检查 //返回值就是结果int a[4];string ip = str_ip;string strTemp;size_t pos;size_t i = 3;do{ pos = ip.find(".");

2015-12-25 19:32:21 1561

转载 string中c_str()、data()、copy(p,n)函数的用法

标准库的string类提供了3个成员函数来从一个string得到c类型的字符数组:c_str()、data()、copy(p,n)。c_str():生成一个const char*指针,指向以空字符终止的数组。注:①这个数组的数据是临时的,当有一个改变这些数据的成员函数被调用后,其中的数据就会失效。因此要么现用先转换,要么把它的数据复制到用户自己可以管理的内存中。注意。看下例: const ch

2015-12-25 16:10:14 263

原创 光棍节pairs引发的血案

pairs是功能更强大,但是它有一个很大的弊端,遍历的时候不是顺序遍历的!从官方参考手册可以看出: ipairs (t)Returns three values: an iterator function, the table t, and 0, so that the construction for i,v in ipairs(t) do body endwill iterate over

2015-11-11 20:20:08 535

原创 cjson不连续存储问题

local t = {} t[1] = {100,200,300} t[5] = {200,300,400}local temp = cjson.encode(t) print(temp) t = cjson.decode(temp) print(t [2])打印如下: [15-11-05 20:10:05 DEBUG] [[100,200,300],null,null,null,[20

2015-11-05 20:25:42 426

原创 魔兽军团前端项目的一些总结

1.当打通本关开启下一关卡时增加一个解锁特效,特效播完之后再播放水晶指示特效,其他时候接入地图不播放关卡解锁特效。if adjustFlag == true or (newChapter == nowChapter and nil ~= lastBtn) then local x,y = lastBtn:getPosition() local parent = l

2015-10-29 23:05:49 669

原创 Node之remove and clean

local Test5_entry = nillocal Test5_layer = nillocal function Test5_addAndRemove(dt)    local sp1 = Test5_layer:getChildByTag(kTagSprite1)    local sp2 = Test5_layer:getChildByTag(kTagSprite2

2015-10-22 14:43:54 424

原创 Node之tags

local Test4_layer = nil local Test4_delay2Entry = nil local Test4_delay4Entry = nillocal function delay2(dt)//dt为时间间隔 print(dt) node = Test4_layer:getChildByTag(2) local action1 = cc.R

2015-10-20 23:00:05 427

转载 cocos2dx之定时器

定时器用的地方还是比较多的,游戏中的逻辑判断很多都是采用每帧执行。quick对于schedule的封装在scheduler这个lua文件中。如果是第一次接触quick的话,可能按照官方的api来写一个定时器被报错,提示schedule是一个nil值,这是因为其他的模块在初始化时都是被加载的,唯独这个scheduler没有载入,所以在使用的时候,第一件事是引入这个模块,local scheduler

2015-10-20 22:38:41 332

转载 cocos2dx+lua注册事件函数详解

registerScriptTouchHandler 注册触屏事件registerScriptTapHandler 注册点击事件registerScriptHandler 注册基本事件 包括 触屏 层的进入 退出 事件registerScriptKeypadHandler 注册键盘事件registerScriptAccelerateHandler 注册加速事件registerScriptTouchH

2015-10-20 22:13:11 315

原创 Node之锚点

local function Test2() local layer = getBaseLayer()local sp1 = cc.Sprite:create(s_pPathSister1)local sp2 = cc.Sprite:create(s_pPathSister2)local sp3 = cc.Sprite:create(s_pPathSister1)local sp4

2015-10-20 21:46:47 618

转载 setmetatable的一点总结

local obj = {}setmetatable( obj, { __index = mission_t } )return objmission_t为对应模块的文件名。 在LUA中的文件中使用module("mission_t",package.seeall )这样的形式,可以防止某些命名的冲突,相当于C++的namespace,在调用这个模块的函数的时候,加上模块名:函

2015-10-16 15:11:01 537

转载 Cocos2dx坐标系,锚点

注:ccp是cocos2dx中的一个宏定义, #define ccp(__X__,__Y__)CCPointMake((float)__X__, (float)__Y__), 在此文章中表示坐标信息 1、笛卡尔坐标系 你可能在学校的几何学上已经知道笛卡尔坐标系。如果你忘记了,下面的图片可以让你回忆一下: 有3中类型的坐标系在游戏开发中你会用的到。 1)UI坐标系

2015-10-15 18:04:20 530

强悍的多功能多媒体播放器

强大的多媒体播放器,如果是应付考试的话需要自己改动一下!

2010-06-17

空空如也

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

TA关注的人

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