「Tonyu Tips」の編集履歴(バックアップ)一覧に戻る
Tonyu Tips - (2005/09/26 (月) 22:10:04) のソース
*Tonyu Tips (この項目は未完成です。補正、Tipの追加等をお願いします。) **目次 #contents ****○Tonyuの処理速度について [[こちら>Tonyu Tip_処理速度について]] ****○異なる型の演算 異なる型で算術演算を行った場合、以下の様な演算結果になる。 また、型の変換も行われる。 ex. 1+0.1 == 1.1(浮動小数点型) 1+"str" == "1str"(文字列型) 1.1+"str" == "1.1str"(文字列型) ****○NULL値の扱い [[こちら>null値との計算]] ****○値の型を調べる方法 整数型 : isInt(v) 浮動小数点型 : isFroat(v) 文字列型 : クラス"String"か否か ex.値の型を判別する関数 function AnyType(v1){ var type; if(v1 is String) type="文字列"; else if(isFloat(v1)) type="浮動小数点数"; else if(isInt(v1)) type="整数"; else type=-1; return type; } ****○使用可能な値とその範囲 整数 : 10桁(大体) 浮動小数点数 : 38桁(10の-38乗~10の38乗)(大体) 文字列 : 半角10万字以上(これ以降は未確認) ****○変数の初期値 変数 : null 配列 : null ハッシュテーブル : 未確認 ****○返す値 代入式 : 式の右辺 算術演算式 : 演算結果 比較演算式 : 0 or 1 論理演算式 : 0 or 1 関数 : returnで値を返した場合、その値 返していない場合、その関数のオブジェクト ****○画像の大きさ取得 横幅 : getPatWidth(p) 縦幅 : getPatHeight(p) (p:画像ファイル名) ****○クラス名の取得(注:間違い訂正) obj.getClassName() if (t is ○) は if (t.getClassName()=="○") と等価 ex. 自分と同じクラスを探す for(t in $Chars){ if(t.getClassName()==getClassName()) print("一致:"+t.getClassName()); } ****○クラスの判別(t is ○) ○に入り得るもの、 -自分が作成したクラス -その他、標準クラス SpriteChar,DxChar,TextChar,,, ,Array,Matrix,Hashtable, ,Object,PlainChar,String, etc....(と言うか、クラス全部.) 親クラスを指定すると、その子クラスも指定したことになる。 ex.インスタンスの判別 a=new Array(); print("配列:"+(a is Array)); text="str"; print("文字列:"+(text is String)); obj=new SpriteChar(); print("スプライト:"+(obj is SpriteChar)); print("PlainChar:"+(obj is PlainChar)); //すべて"真"である. ****○文字列をグローバル変数に変換 ex.変数var2にグローバル変数var1を代入する。 var2=getGlobal("$var1"); ****○基本オブジェクトの引数(appearするときの参考に) new SpriteChar(x,y,p,f) new DxChar(x,y,p,f,scale,angle,alpha) new TextChar(x,y,text,color,size) new PanelChar(x,y,width,height) new SecretChar() (引数無し) ****○ローカル変数とオブジェクト変数使い分け オブジェクト変数にはthisを付け、 ローカル変数には付けない事で使い分けが可能。 ex. var1; //オブジェクト変数 function FUNC(){ var var1; //ローカル変数 var1=5; //ローカル変数に5を代入 this.var1=10; //オブジェクト変数に10を代入 } ****○関数で引数の初期値を設定する方法 指定されなかった引数には、Nullが入っている。 初期値を指定するには、値がNullのときに値を入れればいいのだが、 値を指定していない引数には、値を代入することができない。 そこで、ローカル変数を一つ使用し、 その変数に、引数がNullのときは特定の値を入れ、 そうでないときは引数を入れるようにすればよい。 ex.関数、引数がある場合は引数を返し、ない場合は10を返す。 function FUNC(_var1){ var var1; if(_var1==null) var1=10; else var1=_var1; return var1; } ****○関数の戻り値で2つ以上の値を得る方法 配列を引数として与え、それに戻したい値を入れる。 ex.引数として与えた配列に10,20を入れる a=new array(); function FUNC(a){ a.add(10); a.add(20); } ****○共用関数の作成方法 方法1.使用したい関数の定義したクラスを全クラスの親クラスにする。 方法2.使用したい関数を持つクラスのオブジェクトをグローバル変数に入れ、 これを通して呼び出す。(ex.$g.FUNC();) 方法3.Kernel/PlainCharファイルに使用したい関数を記述する。(キケン、超上級者向け。実行ファイルでない限り他人の環境ではエラーが出ます。基本的にはやめておきましょう) (Kernelに手を入れるって、Linuxデスカ!?) &counter()