(AwayJS)のビルドが改められました。例によって、これまでのコードはそのままでは動かなくなります。TypeScriptではじめる3次元表現」でつくった作例4点を、2015年10月9日付ビルドに合わせて書き直してみました。それらの修正点をかいつまんでご説明します。2015年10月9日付ビルド向けに書き直したサンプル2015年10月9日付ビルド向けに書き直したgihyo.jp連載の作例は、以下のサンプル1〜4の4つです(図をクリックするとjsdo.itのコードが開きます)。fireサンプル004■背景の映り込んだドーナッツ型を捉えてカメラが上下左右に回る2015年10月9日付ビルド向けに書き直したこれらのjsdo.itのコードは、gihyo.jp連載でつくった作例を[Fork]しています。Diff]ボタンをクリックすると、書き替えたステートメントを確かめることができます(図001)。各コードの[Readme]にそれぞれを解説したgihyo.jp連載原稿がリンクされています。2014年11月5日付ビルドからの改定まず、2014年11月5日付ビルドとの違いから見ましょう。クラスTriangleMethodMaterialはMethodMaterialに差し替わり、さらにDefaultMaterialManagerクラスが加わりました。これらのクラスは、つぎのようにrequire()メソッドで読み込んでおきます。require("awayjs-methodmaterials/lib/MethodMaterial");クラスTriangleMethodMaterialに替えて呼び出すMethodMaterial()コンストラクタは、テクスチャを引数に受け取ります。デフォルトのテクスチャは、DefaultMaterialManager.getDefaultTexture()メソッドでTextureBaseオブジェクトとしてつくります(コード001のサンプル001と002)。MethodMaterial(テクスチャ)スカイボックスの背景を「環境マッピング」映し込む場合は、MethodMaterial.addEffectMethod()メソッドでマテリアルを定めるため、引数は渡さずに済みます(コード001のサンプル004)。環境マッピングとこのメソッドについては、gihyo.jp連載第6回「スカイボックスの中に置いたドーナッツ型をカメラで追う」の「スカイボックスの背景をドーナッツ型に映し込む」をお読みください。2015年3月13日付ビルドからの改定つぎに、2015年3月13日付ビルドから改められたことです。AssetLibrary.load()メソッドでテクスチャの素材ファイルを読み込む場合、LoaderEvent.RESOURCE_COMPLETEイベントのリスナー関数で引数のLoaderEventオブジェクトからLoaderEvent.assetsプロパティでイメージオブジェクトが収められた配列を取り出します。この配列エレメントが新たにBitmapImage2Dオブジェクトとなりました。テクスチャを定めるMaterialBase.textureプロパティには、TextureBaseオブジェクトを与えます。そのためBitmapImage2Dオブジェクトは、新しいSingle2DTextureクラスのコンストラクタに渡して、TextureBaseを継承するオブジェクトにしなければなりません。BitmapImage2Dクラスは、Image2Dを継承します(コード002のサンプル001〜003)。Single2DTexture(asset);break;}}ひとつ補っておきます。2015年3月13日付ビルドでDefaultRenderer()コンストラクタの引数にはMethodRendererPoolクラスを渡すこととされていました。MethodRendererPoolはなくなり、コンストラクタは引数なしで呼び出せるよう改められました。併せて、gihyo.jp連載第19回「4つのビットマップをパーティクルにしてアニメーションさせる」の「2015年10月9日付ライブラリによる変更」をご参照ください。スカイボックスを使う作例における改定スカイボックスを使うサンプル004は、もう少し書き替えるところがあります。クラスAssetLoaderContextは、LoaderContextに改められました。LoaderEvent.assetsプロパティの配列から取り出したイメージのエレメントは、SingleCubeTextureクラスのコンストラクタに渡して、テクスチャをつくります。SkyboxMaterialクラスは除かれました。require("awayjs-display/lib/textures/SingleCubeTexture");そこで、コンストラクタAssetLoaderContext()の呼び出しは、LoaderContext()に書き替えます。BitmapImage2Dオブジェクトは、SingleCubeTexture()コンストラクタの引数に渡してテクスチャにします。そのテクスチャをコンストラクタSkybox()の引数として、Skyboxオブジェクトがつくられるのです(コード003)。