700体の操作可能なキャラを管理する方法

ホーム フォーラム CF2.5使用法全般 700体の操作可能なキャラを管理する方法

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

    お久しぶりです、質問箱にて昔くちじろとして虫眼鏡の機能を教えてもらったものです。
    あれから1年半ほどグラフィックを描き続けています。

    操作キャラクター可能なキャラが計700体になるようなものを作っています。
    操作キャラは一体ですが姿、能力、使う攻撃など異なるものです。
    成長して見た目が変わるので合計700体分という事です。
    ここで考え方について質問させていただきたいのです。

    以前サブアプリ介して親子アプリ(フレーム)間で共有できるのは『グローバル変数・文字列、ライフ、スコア』に限られると仰っていたので
    700体分もの変数をいつでも呼び出せるようにするならグローバル変数で管理したほうが良いと考えていたのです。

    そして以前、変数の順番の入れ替え等はできませんので、
    最初から管理がし易いように考えて追加していくしかありません。
    とあったので最初にキャラクターを全て決めたところでグローバル変数を用いようと
    考えています。そうでないと後でキャラを追加した時、
    キャラの変数の間に別のシステムの変数が入ると管理が難しくなりそうだからです。

    もしくは別の方法としてフレーム毎に700体分のイベントをコピペするという方法です。
    しかしこのような方法だとオブジェクトがありすぎてあまりに汚く、管理がしづらそうです。もっと良い方法はないでしょうか?

    理想としてはグローバル変数のような大本があり、そこをフレーム毎に好き勝手呼び出せる
    ようなものがあればすごく管理が楽になるし、あとから追加するのも大本をいじるだけなので楽になると思うのです。そのような方法はないでしょうか?

    もしかしたら無茶苦茶なこと言ってるかもしれませんが
    まだ私は理解が足りないのでどうかよろしくお願いしたします。

    Attachments:
    You must be logged in to view attached files.
    #14131
    ASD
    キーマスター

    >>daifukuさん
    各フレームで必要なオブジェクトは、そのフレームに挿入されていなければ使用できません。但し、複数のフレームで共通のオブジェクトは、プロパティの『グローバルオブジェクト』を設定することで共有化できます。グローバル化すると、オブジェクトの画像やプロパティの設定などを変更すると、他のフレームにある同じオブジェクトにも変更が適用されるようになります。

    イベントに関しては、アプリケーションプロパティから入れます『グローバルイベント』に設定すると、すべてのフレームで動作するイベントになります。また、前述のグローバルオブジェクト化したオブジェクトの『オブジェクトイベント』に設定することでもそのオブジェクトが存在する複数のフレームで共通のイベントになります。

    #14134
    daifuku
    参加者

    なるほど!ご回答有難うございます。
    綺麗な作り方を考えると基本操作はグローバルイベントなどで設定し
    各操作キャラのオブジェクト詳細はフレーム内イベントではなくオブジェクトイベントで設定し
    フレーム内でしかしないことをフレーム内イベントで設定すれば良いわけですね。

    ちょっとだけ疑問に思ったことがあるのですが
    >>各フレームで必要なオブジェクトは、そのフレームに挿入されていなければ使用できません。
    ということは各フレームに700体分のオブジェクトは必須となるという事でしょうか?
    共有化させること考えて各操作キャラのオブジェクトをグローバル化し
    画面外に並べて管理する事になるんですかね?
    もし各フレーム毎にステージの大きさが違う場合、コピー&ペーストして持ってきたら
    ゲーム画面と重なってしまいその都度オブジェクトの位置調整とかになるのでしょうか?

    #14149
    ASD
    キーマスター

    イベントで『オブジェクトを作成』や、『オブジェクトを発射』で指定されているオブジェクトは、フレーム上から削除しても左のリストに残り続けるので、フレーム上に配置されていなくても使用することができます。ですが、後でそのオブジェクトを削除したくなった時に、当該オブジェクトが指定されているイベントを削除しても、稀にリストから消えずに残り続ける(通称『幽霊オブジェクト』)ことがありますので、基本的にはオブジェクトはフレーム上に置かれていることが望ましいです。

    700体のキャラは全て別オブジェクトなのでしょうか?1体に複数キャラの設定を持たせて数を減らすということもできませんか?

    #14159
    daifuku
    参加者

    ご回答有難うございます。
    成程、確かにリストの左には残りますね。
    ただその幽霊オブジェクト現象に出会ったことがあるのでフレーム上に置くことにします。

    操作するキャラは1体だけでそのキャラが成長したら別のオブジェクトとすり替える
    という方法で作ろうと思っています。
    グラフィックと大きさがそれぞれ異なるので別オブジェクトにせざるを得ないと
    考えているのですが、上記の条件でも一体に複数のキャラを持たせるというのは
    可能なものなのでしょうか?

    #14161
    ASD
    キーマスター

    判定の付け方などが異なる、ということでしょうか?
    『今現在どのキャラの状態であるか』を示す変数などの条件を併記することで分けられると思います。

    #14162
    daifuku
    参加者

    判定の付け方は四角一つで表現できれば良いのですが
    細長いキャラクタ―などは判定が複数必要ではないかと考えています。

    今現在どのキャラの状態であるかはプレイヤーの変数の0~700で指定し作るつもりです
    それでも画像のように枠外にキャラを別オブジェクトとして並べる必要があるではないかと
    考えているのですが他に方法があるのでしょうか?

    Attachments:
    You must be logged in to view attached files.
    #14189
    ASD
    キーマスター

    1つのオブジェクトに複数キャラ分のアニメーションを登録して使い分ければ全体としての数の削減になると思いましたが、全てのキャラでアニメーションシーケンスが共通の場合は、それだけオブジェクトは必要になりますね。

    #14193
    daifuku
    参加者

    なるほど一つのオブジェクトにアニメ―ションがデフォルトで移動、しゃがみなどがありますが
    そこに複数キャラ分のアニメーションを登録するという意味で合っているでしょうか?
    確かにそれだとオブジェクトは少なくて済みそうです。
    全てのキャラでアニメーションシーケンスが共通の場合はとあるのですが
    やはり数が多すぎるということでしょうか?結構便利な方法だと思ったのですが

    #14194
    ASD
    キーマスター

    全てのキャラで、歩きアニメは『歩く』に、ジャンプは『ジャンプ』に登録している前提でアニメーションシーケンス変更イベントを構築している、というのであれば、キャラ毎に指定するシーケンスが違うとイベントの指定が面倒かな、と思いました。
    別にバラバラでもいいのであれば、ユーザーアニメーションを追加していって、1つのオブジェクトに複数キャラ分のアニメを登録すればよいと思います。ただし、1つのオブジェクトに登録できる画像の枚数は16000枚までですので、ご注意ください(オーバーした分は実行時に表示されません)。

    #14198
    daifuku
    参加者

    なるほどよく理解できました。
    ありがとうございました。

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