コンピュータにまつわる興味あるモノだけを扱う個人的なゆるいブログ。
by riye_tech_2004
ブログパーツ
検索
連絡先
pcnikki@gmail.com
※トラックバック送信元記事にこのブログhttp://pcnikki.exblog.jp/へのリンクが存在しない場合はトラックバックを受け付けません。ただし、エキサイトブログ同士のトラックバックには適用されません。



東京アメッシュ
GMAIL(SSL)
public: typedef Takel::Diary Observable;
スクイズ研究所
MobileBiz
Ken's Blog
眞鍋かをりのここだけの話


SonyEricsson
ノキア・ジャパン
NECわいわいモバイル
LGモバイル

TSUKUMOネットショップ
ASUS
EPSON Direct ショップ

ブログ口コミポータル話題のjp
八百万神社の杜
Windows Tipsホーム

ワールドビジネスサテライト
カテゴリ
以前の記事
ActionScriptでCっぽく構造体を記述
例えばActionScriptに「CやJavaからのソースを移植したいかもー」と思った時や、「変数が増えて管理し辛い!」などと言う場合は構造体やクラスを作って作業の効率化を図りたいところです。

ActionSctipt(2.0)ではクラスを記述できます。
しかし構造体は記述できるのでしょうか。
クラスを作るほどでもないけど、変数を構造的に管理したい場合は構造体あったほうが便利です。

例えば、こんなCの構造体を活用したいとする場合、
typedef struct {
int vx,vy,vz;
} VECTOR;

ActionScriptではこう書きます。
function getVector() {
return {vx:0,vy:0,vz:0};
}
とこんな感じでVector型のオブジェクトを返す関数を書きます。
そして、
var vec = getVector();
と宣言します。
わざわざ関数にしたのは他の箇所で使いまわすために便利だからです。
利用は簡単です。
vec.vx = 1;
vec.vy = 2;
vec.vz = 3;
などのようにして構造体のメンバ変数にアクセスします。
また関数に構造体を渡したい場合は、
var vec = getVector();
kansuu( vec );

function kansuu( _vec ) {
_vec.vx = -1;
_vec.vy = -2;
_vec.vz = -3;
}
などのように書きます。
呼び出し側の"vec"のメンバ変数は"kansuu()"を通して更新されますので、returnで変数を返す必要はありません。

つづく。




[PR]
by riye_tech_2004 | 2007-02-05 01:27 | 華麗なるFlash
<< ゆきまつり@どうぶつの森 ActionScript仕様の注意点 >>