2016年8月9日 星期二

0809 圖檔如何轉成BMFONT

http://blog.csdn.net/keshuiyun/article/details/9960667
上一篇转了别人的一篇文章,讲了BMFont的基本用法。对BMFont比较陌生的同学请点击这里先去学习:http://blog.csdn.net/keshuiyun/article/details/9960589
本篇讲解如何利用美工提供的字符图形来生成自定义字体。
美术提供的字体经常是下面这样的:
或者这样的:
这时候我们就要借助BMFont了,首先针对真彩色的图形,我们要做一些设定,点击"Options"->“Export options”:

在弹出的窗口中,注意红框中“位深”,设为32:
然后,点击"Edit"->"(Un)Select all chars",取消选择所有字符。因为我们将在后边导入需要的字符。
OK,现在点击"Edit"->"Open Image Manager":
弹出图片管理窗体,如下:
那个"Image"是菜单,可以点击。选择"Image"->"Import image...":
弹出如下窗体:
点击"Browse"按钮,在弹出的“打开”窗口中选择一个字符图片,比如"0":
然后在ID后的文本框中输入字符"0"的Ascii值:48,点击"OK"。
这时返回主窗体,你会看到字符表中"0"右下角有一个小亮点标记,说明该字符的图形为自定义图片。如下图:
按上述方法,依次加入其它字符的图片,完成后如下:
OK,下面准备导出。导出前我们可以先点击"Options"->"Visualize"预览一下:
嗯,材质稍微有点大。导出fnt的方法大家都清楚了,就不再复述了。
最后得到如下文件:
好浪费内存啊,罪过罪过……

2016年8月5日 星期五

0805 VS2013 編譯cocos2d 3.12 出現 Error C1083: can’t open “extensions/ExtensionMacros.h”

VS2013 編譯cocos2d 3.12 出現 Error C1083: can’t open “extensions/ExtensionMacros.h”

在設定中加上$(EngineRoot) 即可解決
 property->configure property->C/C++->general->additional include directory
add "$(EngineRoot);" into the "additional include directory"

去掉VC2013中烦人的C4819警告
在Project -> Properties -> Configuration Properties -> C/C++ -> Advance 的Disable Specific Warnings 中添加相應的警告編號:4819;

-------------------------------------------------------------
去掉VC2005中烦人的C4819警告
这个警告虽然没有什么影响,但是非常讨厌。去掉这个警告的方法有以下几种:
(1)转换Code文件为Unicode格式;
(2)在“项目”-> “属性” -> “配置属性” -> “C/C++” -> “高级”的“禁用特定警告”中添加相应的警告编号:4819;(找不到C/C++选项
(3)找出非Unicode格式的文件,然后在该文件的开始处加入下面的语句:
        # pragma warning (disable:4819)
      我是採用第三個步驟 但是是在.h中加入
// win32
#if defined(_WIN32) && defined(_WINDOWS)
//BOBADD disable warning
# pragma warning (disable:4819) //檔案含有無法在目前字碼頁 (950) 中表示的字元。請以 Unicode 格式儲存檔案以防止資料遺失
#endif

加入在兩個地方 D:\Task\Slotgame_cocos2dx\cocos2d\cocos\platform\CCPlatformConfig.h
以及 Def_Progame.h 中增加
(4)打开出现这个警告的文件, 用VS2005的“查找替换”功能,打开“允许正则表达式”选项,选择“当前窗口”,查找替换 /n 为 /n ,  然后整个世界就清净了。(查找的 /n 是跨平台的回车,替换的 /n 却是当前代码页的回车了)

2016年8月4日 星期四

0804 雙重指標的宣告

Q:如何將雙重指標指向固定陣列大小?
A:
將大小放在最後面。(*ptr)[size] 即可
範例:

static const char IMAGELIST_CHT[IMAGELIST_CHT_Packet][128]=
{
{ "image01.plist" }
, { "image02.plist" }
, { "image03.plist" }
, { "image04.plist" }
, { "image05.plist" }
, { "image06.plist" }
, { "image07.plist" }
};

static const char (*pIMAGELIST[WINFRAME_SIZE])[128] =
{
IMAGELIST_ENG,
IMAGELIST_CHT,
};


使用

auto  pList = pIMAGELIST[iWinIDx];
or const char (*pList)[128]= pIMAGELIST[iWinIDx];

0804 VS2013 建議擴充套件

1..Indent Guides
程式碼排版回自動加上虛線,有這個功能也很方便
image

2.Developer Assistant
佛心的Microsoft 做了「Bing Developer Assistant」VS.NET的擴充工具,
讓我們寫程式找Code超easy!
環境:Visual Studio 2012, Visual Studio 2013  
 平常在寫程式時,內建的IntelliSense不夠用嗎?
如果某個Method Code不知如何寫時,我們通常會上網查一些Sample Code!
佛心的Microsoft 做了「Bing Developer Assistant」VS.NET的擴充工具,
讓我們寫程式時,IntelliSense列出Method外,還會列出Sample Code,如下,
image
3.Go To Definition
Visual Studio 內建的 Go To Definition 功能可以讓你將游標從目前所在的識別字(型別、方法、變數名稱等)上面移動至該識別字的原始宣告處。其操作方式為需透過滑鼠右鍵選單或者按 F12。

Go To Definition 擴充工具的作用也一樣,只是操作不方式不同。它可以讓你用 ctrl+click 的方式跳至其識別字的原始宣告。我已經習慣以左手拇指按住 Ctrl 鍵,然後用右手移動滑鼠至欲察看之識別字上方點一下左鍵。儘管 Visual Studio 內建的 F12 按鍵似乎比較簡單,但我還是覺得 ctrl+click 的操作方式才是快速方便,所以它也成為我的必備工具之一了。


2016年8月3日 星期三

0803 mac下gitLab、sourceTree的配合使用

http://www.jianshu.com/p/707de2a1046d

錯誤解決 當發生無法登入的時候~將sourcetree 改為openssh 登入即可

Initially when I tried to Fetch from a Gitlab remote in SourceTree, I got error messages like this:
git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
Access denied
Access denied
Access denied
Access denied

FATAL ERROR: Server sent disconnect message
type 2 (protocol error):
"Too many authentication failures for git"
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Completed with errors, see above.
This was running Source Tree 1.6.something and 1.7.0, with the remote hosted in GitLab Community Edition version 8.1.4.
It turned out my issue was to do with the SSH Client Configuration (the 'access denied' and "Too many authentication failures for git" messages were the big clues). I made two changes in Tools > Options which fixed this:
1. Changed SSH Client to OpenSSH, instead of the default PuTTY/Plink
2. Set a path to my SSH key file.
After these two changes, fetching, cloning and pushing to my remotes all work fine.

mac下gitLab、sourceTree的配合使用

在项目开发时,如何在mac下不适用命令行提交代码?gitLab、sourceTree这对默契的cp帮你解决问题。
1、认识一下gitLab这个版本管理工具。
说到版本管理工具,大家会想到svn,git和svn还是有差别的。svn是集中化的版本控制系统, 只有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。git是分布式的版本控制系统, 每一个终端都是一个仓库,客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。每一次的提取操作,实际上都是一次对代码仓库的完整备份。
2、git的使用
2-1、登录
管理员会为使用者开通账号并设置权限,如是否可创建group等
2-2、修改密码等账号信息

2-3、生成ssh key


在终端里按照文档提示的进行命令输入,ssh-keygen - t rsa -C "开通git的邮箱"回车

直接回车
我已经生成过key,所以会提示overwrite,如果是第一次生成的话接下来会生成key,然后将生成的key复制到git中

接下来就能进行提交、推送、拉取等操作了,等创建完项目sourceTree该上场了。
3、新建项目--->设置项目名--->设置项目权限--->成功创建项目


新建一个项目


设置项目名


设置项目权限


成功创建项目

4、sourceTree的使用
新建一个新仓库--->从url克隆--->单击一下目标路径自动填写路径与项目文件夹--->自动弹出可视化界面--->通过提交、拉取、推送等操作实现代码管理。到这里git与sourcetree的配合使用介绍完了。


新建一个git仓库


填写url:git中ssh栏中的地址(见成功创建项目图)


可视化界面

0803 安裝COCOS2d 3.12

http://markcoco.blogspot.tw/2016/05/android-cocos2d-x-39.html

1.下載 cocos2d-x 3.12 版   解壓縮
2.下載python 2.X 版(一定要2.X版 不能用3.X版)
   安裝,記得安裝選項要include python path

3.在 cocos2d-x 目錄中 找到setup.py, 利用cmd 去執行他 (此步驟只是單純檢查NDK)

4. 直接利用VS2013 開啟 專案檔
執行cocos2d-x環境測試:
a.打開 D:\Android\cocos2d-x-3.9\build 目錄下的
"cocos2d-win32.sln"文件 (此版本已無分vs2012,vs2013版本)


5..生成cocos2d-x專案檔案

a. CMD的DOS視窗中進入 D:\Android\cocos2d-x-3.9\tools\cocos2d-console\bin





b. 然後輸入
      python cocos.py new Game01 -p com.hi.test -l cpp -d D:\Android\project
    生成專案
     (或是 cocos new Game01 -p com.hi.test -l cpp -d Game )

          參數說明:
  • Game01為項目名稱
  • -p 後面接檔案包名稱
  • -l  後面接開發語言類型,有cpp,lua,js三種
  • -d 後面接存放目錄




c.若-d 後只設定名稱會在 D:\Android\Ccocos2d-x-3.2\tools\cocos2d-console\bin\  下生成專案目錄

0803 解决在VMware中安装64位系统 問題

您已经配置此虚拟机使用64位客户操作系统。然而,64位操作系统不可用。此主机具有虚拟化支持能力的,但虚拟化技术被禁用。
这通常是因为虚拟化技术已经在BIOS /固件设置或禁用或主机没有权限改变此设置。 请:
(1) 验证 BIOS/固件设置 VT 启用和禁用 'trusted execution.'
(2) 如果更改了这些 BIOS/固件设置 重新启动主机电源。
(3) 安装 VMware Workstation,重新启动主机.
(4) 更新到最新版本的 BIOS/固件。
更多详细信息请参阅 http://vmware.com/info?id=152 。
不支持 64 位的情况下继续吗?
上面为中文汉化版提示,英文原版提示如下:
You have configured this virtual machine to use a 64-bit guest operating system.  However, 64-bit operation is not possible. This host is VT-capable, but VT is disabled.
This is usually because VT has been disabled in the BIOS/firmware settings or the host has not been power-cycled since changing this setting. Please:
(1) Verify that the BIOS/firmware settings enable VT and disable ‘trusted execution.’
(2) Power-cycle the host, if either of these BIOS/firmware settings have been changed.
(3) Power-cycle the host, if you have not done so since installing VMware Workstation.
(4) Update the host’s BIOS/firmware to the latest version.
For more detailed information, see http://vmware.com/info?id=152.
Continue without 64-bit support?

在VMware下成功安装了Windows Server 2003,再安装64位版Windows Server 2008 R2 Enterprise的时候,遇到了上面的错误提示,不能继续安装系统。电脑本身是64位windows7,所以应该可以肯定CPU是支持64位系统的,下面说一下我的解决方法:

1.检查CPU是否支持VT,可以用CPU-Z查看,看到VT-X,说明CPU是支持虚拟化的
VMware
2.开启VT,有很多CPU是默认不开启VT的,需要自己手动在BIOS中修改。以我的thinkpad为例:
a)先关机,不能通过重启进入BIOS,需要先关机,再开机
b)按F1进去BIOS
c)进入config-CPU ,可以看到有两项是disable状态,改成enable。
d)F10保存退出重启

3.重新安装VMware
完全卸载VMware,安装过程很简单,不多说。不重新安装VMware的话还是有这个问题的。
放心卸载VMware好了,重新安装VMware后,原来安装成功的系统还是在的,没有任何影响。

4.安装系统
这个也很简单,也不说了。

cocos2dx-lua 建立滑鼠監聽

重要關鍵字  EVENT_MOUSE_SCROLL addEventListenerWithSceneGraphPriority      if IsPc() then --建立滑鼠監聽         local listener = cc.EventListenerMouse...