RSS

カテゴリー別アーカイブ: C++

アプリからSNSで招待文を送りたい!

アプリからSNSで紹介させたい場合。
どれもこれもWebviewなどで以下のURLを叩くだけ。

URLエンコードはもちろん実施必要。
Read the rest of this entry »

 
コメントする

投稿者: : 2014/11/25 投稿先 Android, C++, Cocos2d-x, iOS, Java, Objective-C

 

CCParticleSystemでAbnormal error in particle quad

環境:cocos2d-x 2.2.4
状況:CocosBuiderで画面を作ってその中にCCParticleSystemを置いておく。
実際:タイムラインが切り替わって表示されたタイミングで Abnormal error in particle quad でアプリクラッシュ。
Read the rest of this entry »

 
コメントする

投稿者: : 2014/11/21 投稿先 Android, C++, Cocos2d-x, iOS

 

点と点の斜辺の長さと角度を取得する。

【やりたいこと】

・高さが異なる2点間を、CCScale9Spriteの線の画像を伸ばして繋ぎたい

【欲しい値】
・画像を横に伸ばすので、その長さ
・2点間の高さが異なるので画像を回転させる必要がある。その角度

点1(x1, y1)
点2(x2, y2)

— [サンプル] ——————————————————–

CCScale9Sprite* lineImage =CCScale9Sprite::create("02_bg_way.png");

float sX = 0; // 点1のX位置
float sY = 0; // 点1のY位置

float eX = 1; // 点2のX位置
float eY = 1; // 点2のY位置

// 長さ
float width = ccpDistance(ccp(sX, sY), ccp(eX, eY));

// 斜辺
float hAngle = ccpToAngle(ccpSub(ccp(sX, sY), ccp(eX, eY)));
float angle = CC_RADIANS_TO_DEGREES(hAngle);
angle *= -1;

if (angle < 0){
angle = 360+angle;
}

lineImage->setContentSize(ccp(width, lineImage->getContentSize().height));
lineImage->setPosition(sX, sY);
lineImage->setRotation(angle);

(距離取るのにめちゃめちゃ √((x2-x1)*(x2-x1)) + ((y2-y1)*(y2-y1)) とか考えたんだよ・・・orz)
Cocos2d-xで用意されてました。
そりゃあゲームでよく使う計算だよねえ・・
気が付かなくてめっちゃググってました・・・

 

 

 
コメントする

投稿者: : 2014/07/04 投稿先 C++, Cocos2d-x

 

【C/C++】整数と小数点を取り出す

メモメモ。

— [サンプル] ——————————————————–

#include <Math.h>

// ミリ秒を %MM:%ssに変換する
// Ex) 60000 -> 01:00
std::string StringUtil::formatMmss(std::string time){

int mm = atoi(time.c_str()) / (60*1000) ;
int ss = (atoi(time.c_str()) /1000) % 60 ;

char str[32];
sprintf(str, “%2d:%2d”, mm, ss);
return str;
}
// 小数点付き秒を %MM:%ssに変換する(ミリ秒は切り捨て)
// Ex) 60.1234 -> 01:00
std::string StringUtil::formatMmss(float time){

// 小数点以下切り捨て
int second = floor(time);

int mm = second / 60 ;
int ss = second % 60 ;

char str[32];
sprintf(str, “%2d:%2d”, mm, ss);
return str;
}

——————————————————————————

 

 
コメントする

投稿者: : 2014/07/04 投稿先 C++, Cocos2d-x

 

C++マクロについて

この辺、よく使うので定義。

// 画面サイズ取得
#define WINSIZE CCDirector::sharedDirector()->getWinSize();

// 倍率取得
#define WINSCALE CCDirector::sharedDirector()->getContentScaleFactor();

// 配列のサイズを取得
#define SIZE_OF_ARRAY(array) (sizeof(array)/sizeof((array)[0]))

// 変数名を文字列として取得
#define PRINT(var) std::cout<<#var<<std::endl

// クラス名を取得
#define __CLASS__ abi::__cxa_demangle(typeid(*this).name(), NULL, NULL, NULL)

参考
http://d.hatena.ne.jp/aki-yam/20081217/1229498370

 
コメントする

投稿者: : 2014/03/05 投稿先 C++, Cocos2d-x