2014年2月26日水曜日

cocos2dxにCCwebviewプラグインを導入してみた

greeさんがgithubに公開しているので、これは使うべきだと思い、
cocos2dxにwebviewpluginを導入してみた

https://github.com/gree/GreePlatformSDKCocos2dx

上記からzipでDLして利用

http://befool.co.jp/blog/8823-scholar/cocos2d-x-study-011-web-view/

上記のブログを参考にして導入完了しました。
webviewは何気に利用機会が多いので、これでマルチプラットフォーム対応は便利ですね。

greeさんに感謝。

2014年2月24日月曜日

cocos2dxのCCLOGには文字数上限がある模様

けっこうはまったので、メモ。

webからhtmlファイルを全て char型の配列に読み込んでから、
その配列をポインタに渡して

CCCLOGで内容を見ようとしたら17kbyteまでしか表示されない

    char* buf = new char [len];
  ifs.read (buf, len);
    CCLOG("html:%s", buf);

以下だと表示されるのでどうやらCCLOGが上限がある模様

    char* buf = new char [len];
  ifs.read (buf, len);
    printf("xxxx.html:%s", buf);

間違ってるかもしれないので、もしご存知の方いたらご指摘くださいませ

2014年2月20日木曜日

libcurlって凄いですね2


libcurlのオプションで以下コードを記載したんだけど

    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, this->callbackWrite);

ちなみにこのcallbackWriteの関数は以下

size_t TitleScene::callbackWrite(char *ptr, size_t size, size_t nmemb, string *stream)

はっきり言って、このcallbackWrite関数の引数である
(char *ptr, size_t size, size_t nmemb, string *stream)
の意味がついさっきまで意味不明だった。。。
(C言語学びはじめの私には正直きつい)

あまりにも気になるので見てみると
curl.hに以下記載


  CINIT(WRITEFUNCTION, FUNCTIONPOINT, 11),

  /* Function that will be called to read the input (instead of fread). The
   * parameters will use fread() syntax, make sure to follow them.

ようはfreadと同じようなパラメータを使うつーことね、いや英語知らないとわからんでしょこれ、そんでもってfread()については以下参照

http://www9.plala.or.jp/sgwr-t/lib/fread.html

プログラムの勉強=英語の勉強である、、、
多少わかるにしても日本語と比較すると時間かかりますよハイ

libcurlって凄いですね

cocos2dxで継続して開発してるわけですが、まだまだ勉強不足といえど、
libcurlって凄いなと思いました。
※こんなん考えている人の頭の中はいったいどうなっているのやら。。。

以下ソースはまだまだ途中ですが、string型に該当ページのソースを格納する事までは
成功しております。

しばらくgoogle先生にまた聞いて勉強を継続します、、、

int TitleScene::libcurl_func()
{
    CURL *curl;
    CURLcode ret;
    
    curl = curl_easy_init();
    string chunk;
    
    if (curl == NULL) {
        cerr << "curl_easy_init() failed1" << endl;
        return 1;
    }
    
    curl_easy_setopt(curl, CURLOPT_URL, "http://XXXXXXXXXXXX(URL入れる)");
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, this->callbackWrite);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, &chunk);
    ret = curl_easy_perform(curl);
    curl_easy_cleanup(curl);
    
    if (ret != CURLE_OK) {
        cerr << "curl_easy_perform() failed2" << endl;
        return 1;
    }
    
    cout << chunk << endl;
    
    return 0;
}

size_t TitleScene::callbackWrite(char *ptr, size_t size, size_t nmemb, string *stream)
{
    int dataLength = size * nmemb;
    stream->append(ptr, dataLength);
    return dataLength;

}

2014年2月14日金曜日

月の満ち欠けアプリ(iOS)をリリースしました

ようやくappleのレビューとのやり取りが終わって、
月の満ち欠けアプリ(i0S)バージョンのリリースをいたしました。

androidバージョンにも様々機能を追加しております。
Tips的な学習要素やギャラリーなども用意しておりますので、
興味のある方は以下よりDLください。

■iOSバージョンURL

■スクリーンショット




2014年2月13日木曜日

amazonEC2でドキュメントルート設定時の注意

amazonEC2の勉強をしているのですが、少しはまってしまいました。

ドキュメントルートの設定を以下のように設定したいたのですが、

Alias /test <ホームディレクトリ>/web
<Directory <ホームディレクトリ>/web>
  AllowOverride All
   Order Allow,Deny
  Allow from all
</Directory>


どーにもこうにもURLにアクセスしても403エラーがなおらない。。。


そうしたら単純ですが、この上位のホームディレクトリのパーミッションが

700になっていることが要因でした。。。

chmod 711 <ホームディレクトリ>


上記を実行したことで問題なくページが表示されるようになりました。

あとは publicDNS/index.phpにアクセスする際に
はじめは上記のようなエイリアスで対応していたのですが、
正直シンボリックリンク(ln -s)で対応した方が後々良いっぽい
↓こんな感じで


ln -s /usr/share/pear/data/symfony/web/sf /home/ec2-user/web/sf

参考URLは以下です。

ほんとサーバーってはまりますよね。。。

http://ti.que.jp/p/2013/06/05/eclipsepdt-symfony14/