「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()
記事メニュー
目安箱バナー