ADVゲームを作ってみる(Starling編)前回の続きです。いざ、Starlingを使って進めて行こうと決めるもいろいろと問題が発生することがわかりました。今回は、それについて書いていきます。Starlingの使い方は、他のサイトでも散々解説されているので割愛。単純にStarlingを組み込んでみました。Starlingのメリットは、AS3クラスと同じような使い方が出来るので、そのままの感じで使う事ができる事です。Sprite、Eventと言った感じでクラス名も同一です。ここでつまずきました。置き換えるということで、同一名のクラスが混在してしまう問題が発生しました。starling.events.Eventクラスです。flash.events.Eventクラスとは別物です。よって、AS3側のEvent処理を行う事ができません。気をつけなければなりません。この問題を解決するためにこんなクラスを作ってみました。useCapture);}}これでAS3側とStarling側のクラスを橋渡ししてあげます。このクラスを使うことでの副産物として、イベントを一括管理出来るのでイベントの消し忘れが減りました。イベント処理がどうにか上手くいきそうなので、次は実際に画像を表示していくことにしました。まで」ということのようです。読み込んだ画像のサイズを調べ自動的に元々の画像サイズに一番近い2のべき乗の正方形テクスチャを作成してくれるます。今回は少しでも処理を軽くしたかったので、事前に2のべき乗で正方形化した立ち絵画像を新たに作りそれを素材としました。これで1つ目の条件はクリア。超える物が出てくるかもしれません。今回はやりませんでしたは、いずれは分割表示の仕組みも必要になってくるでしょう。立ち絵の位置が合ってない。新しく作った立ち絵の画像は下の様な形になります。作成する必要があります。Bitmapクラスの関係です。して表示位置がずれたかというと、まず上の画像の座標Pと座標qに注目しましょう。いうプロパティが存在します。これは、Imageクラスの基点プロパティです。ゲームスクリプト内での座標指定は、座標qを基点として書かれています。実際のImageクラスの基点は座標pです。その差によって、表示された立ち絵の位置がずれたわけです。_texture.height;が思いつきましたが、元々の立ち絵の縦横は画像によってバラバラなのでなのでこのままでは使えません。そこで、下の画像のようにして配置を修正しリサイズしてみました。することで、常にX座標を立ち絵の幅の中心、Y座標を立ち絵の底辺に設定することが出来ました。これらの処理によって、無事ADVゲームらしく表示することが出来ました。GPUの恩恵もあり、立ち絵の移動速度も格段にアップしました。画像の切り替わりが遅い。使う前から気がついていた問題なので、描画以外の問題であることがこれでわかりました。今回の移植版では、画像ファイルは1つずつ読み込む形を取っています。立ち絵画像の容量は大体、300~500KBどうやらそこが引っかかっているようです。画像フォーマットについて書いていこうと思います。コメントをキャンセルメールアドレスが公開されることはありません。コピー品を販売しております。以前はヤフーと楽天で販売しました。クロムハーツ財布人気の売れ筋商品を多数取り揃えております。