ビルドとオブジェクト素材

ホーム フォーラム CF2.5使用法全般 ビルドとオブジェクト素材

  • このトピックには6件の返信、2人の参加者があり、最後にASDにより6年、 3ヶ月前に更新されました。
7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • 投稿者
    投稿
  • #14713
    MW
    参加者

    いつも色々な疑問に丁寧に答えて頂いて有難うございます。
    先ず無知で尻拭い方法を乞うような質問をしてしまうのを先に謝っておきます。申し訳ありません。

    私は今、R-18のカードゲームみたいなゲームを作っているのですが、それらの素材が適当な場所からドラッグ&ドロップで移動すればゲームが取り敢えず動くと思って、それだけで素材を適当に専用のフォルダからインポートしたまま、ビルドと言う行為を全くせずに作ってきました。それで言わずもがな、現在幾種類かのオブジェクトがビルドした後、そのデータの場所を移すだけで表示されない事に気が付き。相当数(数百個)のアクティブオブジェクト素材を使った作品だけに、どのような対応をして、これらの問題を解決したら良いかに戸惑っています。

    なるべく手間がかからずに済む尻拭いの方法を何かご教示願えないでしょうか。

    • このトピックはMWが6年、 4ヶ月前に変更しました。
    #14714
    MW
    参加者

    失礼しました。画像あげなおしです。
    最悪編集したフォルダごと人様にお出しすることは私の考えとしては全く構わないのですが、このままだとその保存場所や参照するフォルダがデスクトップ上に固定されてしまうらしく、ユーザーを縛る行為はしたくないので、最低でもそこだけは何とか出来ないかな、と思い悩んでいます。

    • この返信は6年、 4ヶ月前にMWが編集しました。
    Attachments:
    You must be logged in to view attached files.
    #14726
    ASD
    キーマスター

    >>MWさん
    「場所を移すと表示されなくなる」という内容から、mfa(exe)内に画像が内包されるアクティブオブジェクトや背景オブジェクトではなく、外部画像を参照して表示する『ピクチャ』や『アクティブピクチャ』を使用されていると推測いたします。
    それらのオブジェクトでは、参照している元画像の置き場所が変わる、もしくは画像自体が存在しないなどしてパスが合わなくなると当然画像は表示されません。画像を表示させるためにはアプリ本体と合わせて画像データも添付する必要があります。
    ただし、『ピクチャ』や『アクティブピクチャ』等は『バイナリデータ』というexeに画像を埋め込む機能に対応しておりますので、参照している画像ファイルをバイナリデータに登録してビルドすれば、元画像ファイルを添付せずとも表示することが可能です。

    ですが、基本的には特に理由がなければ、背景やキャラクタ等は『背景オブジェクト』、『アクティブオブジェクト』を使用することを推奨いたします。

    – サンプルプログラム
    https://blog.clickteam.jp/wp-content/uploads/2017/12/cf25_blog_2017-12-03_external_image.zip
    ↑本サンプルではバイナリデータに画像を登録してビルドしたexeも同梱してありますので、外部画像のあるimgフォルダを削除しても画像が表示されることを確認できます。

    #14729
    MW
    参加者

    概ね仰る通り、アクティブピクチャを素材として使用していることが原因となっているみたいです・・・。対策としましては、数が多いけどプログラミングとしては大雑把な背景オブジェクトなどは全部ガラッと入れ替えて、インターフェースやカードのように、イベントが蜘蛛の巣以上に絡みついたオブジェクトに関してはこのままバイナリ+アクティブピクチャの流れで造っていくことを考えています。

    唯、文章を拝見していると後天的に次回作、また次回へと開発を進めていくにあたって、アクティブピクチャを使用していることそのものが何らかのデメリットを被る場合もあるようにも見えました。読み込み速度や開発上でのデメリットなど、そういった注意すべき点があれば、補足で教えて頂けないでしょうか。

    #14730
    ASD
    キーマスター

    通常アプリ中で表示する画像には背景やアクティブオブジェクトを使用します。これが最も処理速度が速いです。一方ピクチャやアクティブピクチャは画像をmfa(exe)に取り込まず外部ファイルを参照して表示するオブジェクトです。表示時の読み込み時間等アクティブオブジェクトよりも処理速度は劣ります。また何よりアニメーションをさせることができません。イベントで表示する外部ファイルを変更できるので、ユーザーによって画像を選択させる画像ビューワなどを作ることができます。mfaに画像が取り込まれないため、mfa自体のファイルサイズ削減の効果があります(ビルド時には前述のバイナリデータに登録することによりexeに含めることができます)。

    #14731
    MW
    参加者

    なるほど!済みません、もう一つ補足で質問を願います。これはアクティブピクチャのみに限ったことではないのですが、アクティブ、又はアクティブピクチャがロードされないままゲームを開始した場合、それらが持つ衝突判定はどのように処理されるのでしょうか。
    又、それらの変数などに絡んだイベントに関してもどのように扱われるのでしょうか。
    ややもすれば大雑把な四角のあたり判定などは、グラフィックをロードしないままゲームを運用したほうが容量や処理速度が軽くなるのですか?

    #14802
    ASD
    キーマスター

    アクティブピクチャで画像が読み込まれていない状態でも衝突判定は発生します(おオブジェクトのサイズ分の四角)。

    >大雑把な四角のあたり判定などは、グラフィックをロードしないままゲームを運用したほうが容量や処理速度が軽くなるのですか?

    単色の四角画像であればアクティブピクチャではなく普通にアクティブオブジェクトを使用するほうが良いでしょう。サイズが巨大な場合は、元画像は小さい解像度にして、イベントでスケールを変更して使いたいサイズにするのが良いです(メモリ消費が抑えられます)。

7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • このトピックに返信するにはログインが必要です。