as3でlzma圧縮

FlashPlayer11.3から搭載された新機能。

今まではzip圧縮しかできなかったのが高効率のlzma圧縮も対応できるようになっているらしい。

Adobe純正の flex sdk4.6 では compress('lzma') に対応していなくて、コードから直接読み込むのは不可能でした。

flex sdkAdobeではもう作っていなくて、apache flex sdkになっているらしい。
apache flex sdk 4.11 をダウンロードして使ってみたら、lzma呼び出せました。

ByteArray形式のデータを保存するだけなので、すごい簡単です。

// 保存したいファイルのデータ(本当はこのデータを外部ファイルを読み込む形になる)
var file:FileReference = new FileReference();
// ByteArrayのデータを抽出
var data:ByteArray = new ByteArray();
data.writeBytes(file.data);
// 圧縮するとき
data.compress(CompressionAlgorithm.LZMA);
file.save(data);
// 解凍するとき
data.uncompress(CompressionAlgorithm.LZMA);
file.save(data);



std::mapってなに

久しぶりの投稿。
cocos2dの勉強を始めたので、それを機に備忘録的に勉強内容を書いていこうと思う。

stdとは、C++の標準ライブラリのnamespace。

std::map<>が出てきたのでその使い方を覚えたい。
mapはキーと値との組み合わせでによって管理するコンテナらしい。
使いこなせばJSの連想配列的な使い方出来て便利そう。

使い方


#include
#include
#include

int main()
{
using namespace std;

// 宣言
map names; // キーがint、値がchar*のmap

// 要素を追加する
names.insert( map::value_type( 10, "aaa" ) );
names.insert( map::value_type( 30, "ccc" ) );
names.insert( map::value_type( 50, "eee" ) );
names.insert( map::value_type( 40, "ddd" ) );
names.insert( map::value_type( 20, "bbb" ) );

// 値を変更
names[50] = "fff";

// 要素を出力する
cout << names[10] << endl;
cout << names[20] << endl;
cout << names[30] << endl;
cout << names[40] << endl;
cout << names[50] << endl;

return 0;
}


ずるいデザイン

ずるいデザイン
https://speakerdeck.com/ken_c_lo/zurui-design

ずるい線とか角丸四角形とかの使い方をレクチャー。
CSSも使えるようにならねばなー。

こういうデザインを定量化してる例を大量に仕入れておくだけで結構な引き出しになりそうな気がする。それをライブラリ化できないものかな。ただ、小手先だけのものになるけどね。

titanium導入

appceleratorに登録

自分のページが作成されるのでそこからtitanium studioをダウンロード



まずここみました
んでこっち
PDFもおとしました

んでこれに従って設定してる
androidSDKのパスを失敗してUserフォルダに色々入ってしまったけど、後からOF_AndroidのフォルダのSDKにパスを通し