タグ

ブックマーク / f-site.org (5)

  • オブジェクトが動く速度と加速度と微分の考え方

    物理法則にしたがったオブジェクトのアニメーションをスクリプティングするとき、数学の「微分」の考え方で捉えられると応用の幅が広がります。微分と聞くと難しそうに響きます。けれど、大雑把にいってしまえば、オブジェクトの動きについて変化を見るということです。アニメーションがつぎのフレームでどう変わるかを考える、といってもよいでしょう。 01 等速直線運動 決まった速さで同じ向きに動き続ける「等速直線運動」なら、つぎのフレームに移るたびにオブジェクトの位置(xy座標)に定数を足します。この定数(xy平面で捉えるならベクトル)が速度です。つぎのフレームにおけるオブジェクトの位置は、今の位置に速度を加えて求めます。 位置 += 速度 時間(t)と位置(x)をそれぞれ横軸と縦軸にした等速直線運動のグラフは、下図001のように一次関数(x = vt + x0)で表されます(「直線の式(方程式)」参照)。一次

    オブジェクトが動く速度と加速度と微分の考え方
  • F-site | [AS3] 全角(2バイト)と半角(1バイト)を区別したバイト数の計算

    02 ByteArrayクラスを使う Colin Moock氏は「GET NUMBER OF BYTES IN A UTF-8 STRING」と題するblog記事で、ByteArrayオブジェクトにより文字列のバイト数が得られることを紹介されました。さらに、永井勝則氏がFLASH-japanへの投稿で、そのスクリプトに手を加えられています。ByteArray.lengthプロパティでバイト数を求めるやり方です(スクリプト002)。半角カナは1バイトと数えられます。 trace(getBytesTotal_ByteArray("くぁwせdrftgyふじこlp"));   // 出力: 21 スクリプト002■ByteArrayクラスでバイト数を調べる function getBytesTotal_ByteArray(_str:String):uint { var byteArray:Byte

    F-site | [AS3] 全角(2バイト)と半角(1バイト)を区別したバイト数の計算
  • 自動でリンケージを設定するFlashコマンド

    ライブラリ内の選択したアイテムに、自動でリンケージを設定するFlashコマンドを公開します。 概要 このコマンドを実行すると、ライブラリで選択中のアイテムに対して自動的にリンケージ設定が行われます。具体的には、アイテム名がそのままクラス名に設定され、「ActionScript用に書き出し」「1フレーム目に書き出し」にチェックが入った状態になります。 ビットマップのようにアイテム名の末尾に「.png」「.jpg」など拡張子らしきものがある場合は、それを無視したクラス名が付くようになっています。例えば「Title.png」に対してこのコマンドを実行すると、「Title」というクラス名が付けられます。 また、フォルダの中に入っているアイテムは、フォルダ名がパッケージ名に変換されます。例えば「buttonsフォルダ内のPhotoButton1.png」に対してこのコマンドを実行すると、「butto

    自動でリンケージを設定するFlashコマンド
  • [AS3] クラスを文字列で参照したい

    投稿者:野中 文雄 | 投稿日:2008.01.17 | [AS 3][ActionScript][Tips][野中ゼミ] クラス名を文字列で参照して、コンストラクタを呼出したいことがあります。 たとえば、複数のクラスから、動的にひとつを選んでインスタンスを作成したいという場合です。あるいは、複数のシンボルに[リンケージプロパティ]で連番のクラス名を設定して、ループ処理によりそれらのインスタンスを作成するといった目的も考えられます。稿では後者を例に、その方法をご紹介します。 MovieClipシンボルのインスタンスを動的に作成する まず、ActionScript 3.0で、MovieClipシンボルのインスタンスを動的に作成する方法について、簡単に確認しておきましょう[*1]。 ActionScript 3.0では、シンボルの[リンケージプロパティ]ダイアログボックスで、[識別子]ではな

    [AS3] クラスを文字列で参照したい
  • [AS3] 配列(Array)にキャストする

    あるデータ型の値を異なるデータ型として用いる場合には、データ型の「明示的な変換」(キャスト)を行います。配列すなわちArray型へのキャストには、別途注意すべき点があります。 キャストの原則 値を異なる型にキャストするには、変換したいデータ型のクラス名に続けて、その値を括弧()で括ります。 var 変数:クラス = クラス(変換する値) たとえば、以下のスクリプト001は、浮動小数値と文字列の数字を、それぞれint型にキャストします。intは整数型ですので、小数点以下の値は切捨てられます。 スクリプト001■NumberとString型のデータをint型にキャスト // フレームアクション var n:Number = 1.5; var n_str:String = "1.6"; var i0:int = int(n); var i1:int = int(n_str); trace(i0)

    [AS3] 配列(Array)にキャストする
    godagoda
    godagoda 2008/04/11
    Arrayのキャストはas
  • 1