calendar

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
28293031   
<< May 2017 >>

categories

archives

8bit風アイコンを簡単に作れる「iCobo」

0
    JUGEMテーマ:アート・デザイン



    8bitドット絵アイコンを作ってアップロードできるiCobo(いこぼー)を公開しました。


    iCoboはこちら

    ウチのwikiで流行っていた絵チャットを見て、常連さんは絵描くの好きな人が多いらしい、と思ったのが切っ掛けです。ステージ登録好きな人は、基本的に創作好きっぽいです。元々自分用にちょっとしたドット絵エディターは作ってあったので多少改良して一般公開してみました。

    登録したドット絵は自分のアバターアイコンにも使えるようにした事もあり、公開してまだ一週間位なんですが既に500を超える登録がありました(ありがとうございまっす!)



    将来的にはiCoboで登録されたドット絵を使ったゲームとかもリリースしていきたいなと思っています。




    Box2Dを簡単に扱えるようにするGravity2D

    0
      以前作った、Box2Dを楽に扱えるようにする為の自作ライブラリ「Gravity2D」をSpark Projectで公開する事にしました。

      Gravity2Dの簡単な紹介デモを作ったのでご覧ください。
      デモ1(Gravity2D:メソッド基本編)
      デモ2(GravityObject2D:基本的なメソッドやプロパティ)
      デモ3(GravityObject2D:ジョイント系のメソッド。ジョイント、回転、回転角度制限)
      デモ4(GravityGroup2D:グループで一括設定)
      Gravity2Dのソースコードはこちら

      物理演算ライブラリBox2Dは、理解して使いこなすのにはそれなりに労力を要します。Gravity2Dを使えば、その手間がグッと楽になります。どのぐらい楽になるかというと、初めてBox2Dを勉強しながら試行錯誤して作ったゲーム「ぐらびっちょん」は、完成するのに一カ月位かかりましたが、Gravity2Dを使って作ったゲーム「JUMPER」は約2日で完成させています。(むりげーで出展したゲームです)

      Gravity2Dを使う利点は、プログラムが簡単に記述できる、という点だけではありません。Box2Dでは座標をコード上で指定しなくてはいけない為、物理演算という特性上、ちょっとでも複雑なレイアウトを考えたときに、何度も位置をずらしては実行、を繰り返しながら調整していかなくてはいけないのでとっても時間がかかるのです。ところがGravity2Dでは、静的(または動的)に配置したMovieClipの座標をそのまま物理座標として自動設定してくれるため、GUIで物理デザインができます。更に、各オブジェクト同士や背景への回転ジョイントも自動的に座標を設定してくれるメソッドも用意されている為、デザイン時の思考錯誤の時間が大幅に削減できます。もちろん、個別にコード上で座標を指定して設定する事もできます。

      国内のflashの物理演算ゲームは、海外に比べて少ない気がしますので、このライブラリを公開する事によって国産の物理ゲームが増えるといいなと思っております。

      いつか勉強会みたいのもやってみたいなあ〜と妄想したりしております。
      (希望者が集まれば、ですけど)

      PV3D:Line3Dを使って木が生えてくるクラスを作成

      0
        PV3D(2.0)で木が生えてくるクラスを作成しました。


        デモはこちら
        ソースはこちら
        ※ソースコードを実行するには、別途Papervision3D2.0(Great White)とTweenerが必要です。

        最初はCube使って作ってたんですが、枝が増えてくると重いので、線を引く方法を調べて、その技術を使って作り直しました。3Dでトゥイーンして生える木のソースはウェブ上にまだあまりないんじゃないかと思い公開することにしました。ソース内容は勉強しながら作ったものなんであれですが。

        で、今回覚えた線を引く方法です。線を引くにはまず以下をインポート。

        import org.papervision3d.materials.special.LineMaterial;
        import org.papervision3d.core.geom.Lines3D;

        線を引くロジックはこんな感じで。

        var mat = new LineMaterial(0xffffff,1); //線の色
        var line:Lines3D = new Lines3D(mat); //線を書き入れるコンテナ
        line.addNewLine(線の太さ, 始点x, 始点y, 始点z, 終点x, 終点y, 終点z); //線を追加
        scene.addChild(line);

        という訳で非常に簡単です。ちなみに木クラスの枝がトゥイーンして生えてくる様子は、Lines3DのscaleX,scaleY,scaleZをTweenerで変化させています。

        自分もまだ完全に理解できてない部分もあるんですが、線を使いこなす事ができれば表現の幅もグッと広がるんじゃないかと思います。


        2008/9/3 追記:Papervision3D Alpha 2.0 を使っています。 現時点での最新版であるPapervision3D Beta 2.0では、デモの通り動作しないようなので注意してください。

        3D座標を制御する関数

        0
          PV3Dでゲームなんかを作っていると、座標やローテーションの指定が多くて大変になってきます。
          そこで、座標X,Y,ZとローテーションX,Y,Zを一発で設定できる関数を作って制御します。

          function setPosition(prmObj, prmX:Number, prmY:Number, prmZ:Number,
          prmRX:Number, prmRY:Number, prmRZ:Number, prmVisible:Boolean = true):void {
          Tweener.removeTweens(prmObj);
          prmObj.x = prmX;
          prmObj.y = prmY
          prmObj.z = prmZ
          prmObj.rotationX = prmRX;
          prmObj.rotationY = prmRY;
          prmObj.rotationZ = prmRZ
          prmObj.visible = prmVisible;
          }

          使用例)obj(Collada)を座標(100,200,300)、ローテーション(10,20,30)に設定する場合
          setPosition(obj, 100, 200, 300, 10, 20, 30);

          ・prmObjは移動の対象となる3Dオブジェクトで、ColladaかDisplayObject3Dを指定します。
          ・Tweenerでdelayを設定されてたりすると、座標移動した後に動き出してしまうのでremoveTweensしてます。
          ・最後のパラメータはオプションですが、座標制御するときにvisibleも一緒に指定する事もよくあるので付けました。

          簡単!三角関数の関数

          0
            本当に小ネタですが。
            三角関数を使う際、Math.sinやMath.cosを使いますが、引数の角度をラジアンで指定する必要があるため、プログラムの内容によっては記述が長くなってしまいます。そこで、下記の様な関数を作ってみました。

            function sin(degree:Number):Number {
            return Math.sin(degree * Math.PI / 180);
            }

            function cos(degree:Number):Number {
            return Math.cos(degree * Math.PI / 180);
            }

            どうって事ないんですが、三角関数を駆使するようなプログラムでは意外と重宝します。



            自作ライブラリ:効果音(サウンド)再生

            0
              効果音などを鳴らす為のシンプルな自作ライブラリを公開します。
              必要最低限の機能しかありませんが、その分分り易い構成になってます。
              Flash CS3(ActionScript3.0)で作られていますので、AS3.0以外の環境の方は使用できませんm(_ _)m

              本ライブラリを使用する事で以下の操作が実現できる様になります。
              ・playSoundメソッド(サウンドの再生/ボリューム指定可)
              ・stopSoundメソッド(サウンドの停止)
              ・soundModeプロパティ(音あり/なしの指定)

              下記リンクから圧縮ファイルをダウンロードしてご利用ください。
              圧縮ファイルは下記の構成になっています。

              mySoundLibrary ・・・・・ディレクトリ
               - soundManager.as・・・ライブラリ本体
               - soundTest00.wav・・・動作デモ用サウンドファイル1
               - soundTest01.wav・・・動作デモ用サウンドファイル2
               - soundTest.fla・・・・動作デモ用flaファイル

              soundManager.asファイルを、ご自身のflaファイルと同じディレクトリにコピーしてお使い下さい。
              使い方については、soundTest.flaファイルを参照ください。

              ※本プログラムを使用した場合、または使用できなかった等のいかなる損害も、制作者は、その責を負いません。ご自身の責任においてご使用ください。
              同意してダウンロード

              | 1/1PAGES |