- 浏览: 63121 次
- 性别:
- 来自: 北京
最新评论
文章列表
Object.size = function(obj) {
var size = 0, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) size++;
}
return size;
};
String.prototype.lowFirstLetter = function() {
return this.charAt(0).toLowerCase() + this.slice(1 ...
-- 记录截取目标的原始坐标
local x, y = self._nodeRender:getPosition()
-- 截取区域
local size = CCSizeMake(376, 1122)
local pRender = CCRenderTexture:create(size.width,size.height,kCCTexture2DPixelFormat_RGBA8888, 0x88F0)
pRender:beginWithClear(0.0, 0.0, 0.0, 0.0)
-- 截取目标偏移到屏幕左下角
self._nodeRender:setPositio ...
备份脚本:/opt/sql/sqlbak.sh
#!/bin/sh
DATETIME=$(date +%Y%m%d)
mysqldump -uroot gamedata > /home/cloud-user/sql/bak/gamedata.$DATETIME.sql
mysqldump -uroot userdata > /home/cloud-user/sql/bak/userdata.$DATETIME.sql
mysqldump -uroot web_data > /home/cloud-user/sql/bak/web_data.$DATETIME ...
Git协作开发方式1:
1、git commit,提交修改到git 本地Cache中;
2、git pull --rebase origin branchname,通过rebase方式合并代码;
3、git push -u origin branchename,将所有修改提交到远端。
该方式适合于所有代码commit后,他人获取可以顺利编译运行的情况。
步骤2可能产生文件冲突。
例如:
Auto-merging products/xxx/res/ccb/Node.ccbi
CONFLICT (content): Merge conflict in products ...
DeviceUtils.h
//
// DeviceUtils.h
// gamemoom
//
// Created by Song on 14-8-20.
//
//
#ifndef __gamemoom__DeviceUtils__
#define __gamemoom__DeviceUtils__
#include <iostream>
using namespace std;
const char* getModel();
int getSdkVersion();
const char* getOsVersi ...
以下实现方式基于Quick-cocos2d-x 2.1.4,使用cocos2d-x版本的同学请自行修正。
C++数据类定义
class SHAccountData : public CCObject {
CC_SYNTHESIZE(long long, _gameId, GameId);
CC_SYNTHESIZE(int, _sessionId, SessionId);
CC_SYNTHESIZE(int, _serverId, ServerId);
public:
SHAccountData() : _gameId(0L), ...
template<class T> class MyContainer : public CCObject {
public:
MyContainer(int size) {
T* data = new T[size];
_data = data;
}
~MyContainer() {
delete _data;
}
const T& operator[](int index) const {
return _data[index];
...
static inline int secondNow() {
struct timeval v;
gettimeofday(&v, (struct timezone *) NULL);
/* Unix Epoch time (time since January 1, 1970 (UTC)) */
return v.tv_sec + v.tv_usec/1.0e6;
}
static struct tm* secondsSinceEpochToDateTime(struct tm* pTm, uint64_t SecondsSinceE ...
template <class T>
class wrapped_vector {
private:
std::vector<T> elements;
public:
wrapped_vector(size_t size = 20) {
elements.resize(size);
}
typename std::vector<T>::reference operator[](int i) {
return elements[i];
}
...
本方法只能在CCTableView的扩展类中实现,因为其中的计算方法依赖于CCTableView的protected方法。
具体代码如下:
void scrollToCellIndex(int index) {
CCPoint offset = ccpSub(CCPointZero, _offsetFromIndex(index));
float newX, newY;
CCPoint maxInset, minInset;
maxInset = this->maxContainer ...
将object序列化到Json文件中
try {
Gson gson = new Gson();
FileOutputStream outputStream = new FileOutputStream("bean.json");
outputStream.write(gson.toJson(bean).getBytes());
} catch (FileNotFoundException e) {
e.printStackTrace( ...
在Intellij IDEA中,通过插件BaseSupport允许shell脚本时候,发现中文处理的并不是很好。
shell脚本内容:
#!/bin/sh
java -jar ./mybatis-generator-core_libs/mybatis_generator.jar -configfile ./db/resources/userdata/account.xml -overwrite
(PS:本来是想通过mybatis插件直接在IDEA中操作的,但是死活找不到相应的mybatis generator右键菜单,知道的朋友麻烦告知一下。谢谢。)
生成的 ...
最近在做一项工作,将基于cocos2d-iphone游戏转换为跨平台版本。
以下为OC代码:
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"game_ui.plist"];
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"game_effect.plist"];
以下为Lua代码(我们的UI采用Lua编码):
display.addSpriteFra ...
游戏中,我们常常要处理场景中Sprite的前后遮挡关系。
以下公式根据TileMap坐标来动态计算ZOrder,来确保正确的遮挡关系。
为了计算的高效率,使用了位移来代替乘法运算。
// 最小左位移
int shifting = 6;
int height = map->getMapHeight();
if (height > 512) {
// 超过2^8
shifting = 10;
}else if (height > 256 ...
出于美术资源包大小的考虑,我们认为单独提供DisabledImage是不划算的。
如果你是直接create CCMenuItemSprite的话,这个就比较简单了。
Cocos2dx现已提供CCGraySprite
menuItem->setDisabledImage(CCGraySprite::create(fileName));
然而,如果你跟我一样,是使用CocosBuilder来创建UI的话,有没有统一的方法来处理DisabledImage呢?
答案是肯定的。
以下为Lua代码:
function createDisabledImageIfNot ...