獲得したアイテムを道具欄でスクロールさせ表示させるには

ホーム フォーラム CF2.5使用法全般 獲得したアイテムを道具欄でスクロールさせ表示させるには

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

    お世話になります。
    以前アイテムを格納する方法などで質問したのですが
    アイテムを格納する方法は分かったものの、アイテムの表示のさせ方に困っています。
    枠内以上にアイテムを表示させる場合次のページやスクロールバーが必要になりますよね。
    ページの場合は現状でも無理やり作る事はできるもののやはりスクロールバーの方が良いです。
    しかしそのスクロールバーをどう作れば良いのかわかりません。

    以前の質問で紹介してもらった「String tokenizer」ですが、これ自体はアイテムを格納するためのものでString tokenizer自体はデザインを変更しアイテム枠として使うものではありませんよね。
    String tokenizerは格納したアイテムを実際ゲームをするときには表示させない隠しパラメーター的なもので、デザインする場合別途アイテム枠を作る必要があるのですよね。

    スクロール+スクロールバーを再現するにはどうすればよいのでしょうか?

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

    >>daifukuさん
    以前のアイテムリストのサンプルを改造する形で作成してみました。ご確認ください。

    ※カーソルはキーボードで操作してください。
    ※ソートやアイテムを消費し尽くして並べ替えが起きると表示は先頭からに戻ります。

    – サンプルプログラム
    https://blog.clickteam.jp/wp-content/uploads/2018/07/cf25_2017-07-16_アイテムリスト_ソート機能・スクロール表示.zip

    #15403
    ASD
    キーマスター

    ちなみにですが、『String tokenizer』は、単に文字列を指定した区切り文字で分割するだけの機能しかありません。

    例:
    “aaa,bbb,ccc”という文字列を、”,”を区切り文字として

    “aaa”
    “bbb”
    “ccc”

    に分割してそれぞれ取り出せる。

    サンプルにおいて実際アイテムデータを格納しているのは『リストオブジェクト』です。これ自体は画面に表示させることができますが、Windowsコントロール丸出しなので、ゲーム画面としての見栄えを重視する場合はアクティブオブジェクトや文字列オブジェクトにリストのデータを渡して表示することになります。
    なお、リストオブジェクトを画面に表示する必要が無い場合は、プロパティの『開始時に表示』を外すと処理が軽くなります。

    #15407
    daifuku
    参加者

    >>ASDさん
    サンプルプログラムを作成していただきありがとうございます、確かにこれならばアイテムが沢山入る上にスクロールで表示できますね。

    アイテムボックスの役割を果たしていたのはリストオブジェクトでしたか、勘違いしてすみません。アイテムのオブジェクトがかなり増えてしまったため削りながら必要なものだけ選んでこのサンプルを再現していこうと思います。

    #15415
    daifuku
    参加者

    すみません、サンプルを再現している中奇妙な現象に出くわしました。
    トランジションのフェードインが無しの場合はループが正常に作動してアイテムが配置されるようなのですが、フェードインを何か設定してしまうと動作しなくなるようです。

    ただフレームが開始以外の条件であれば一応動くみたいです、原因はフェードイン中は全イベントが停止している中フレームが進んでいるためでしょうか?
    この様な場合どのような条件を設定するのが適切なのか分かりません。
    どうすれば良いでしょうか?

    #15424
    daifuku
    参加者

    スクロールを何度も繰り返すと限界を超えてスクロールしてしまう時があります。
    ただ初めて見る条件が多く、イベントを眺めても何が原因でこの様な事になるのかが分かりません。
    「枠外のアイテムをスクロールさせて表示&右のスクロールバー連動」の部分でしょうか?
    勿論サンプルでは発生しませんでした。

    サンプル元と異なる箇所はアイテム枠のサイズとアイテムを縦に配置できる数を7個、アイテムのアイコンの大きさ、アイテム枠に収まるようにソートの部分37 * B_配置Y軸No~などの【37】の部分を【36】に変えた、などです。

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

    フレームにトランジションが設定されている場合ですが、リストやボタンオブジェクトのプロパティにある『フレームのフェードインの前に作成』にチェックを入れることで解決します。このオプションのあるオブジェクトはチェックが入っていない状態では、トランジションの終了後に作成されるため、フレーム開始時の条件では動作しません。『フェードインの前に作成』となっていますが、フェード以外の全てのトランジションで同様です。

    #15457
    daifuku
    参加者

    「フレームのフェードインの前に作成」があったのでチェックをいれて動作させてみた所、下のようなエラーが出て起動できませんでした。

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

    新規アプリケーションでも必ず発生しますでしょうか?
    新規では発生しないのであれば、作成中のデータに問題があるか、使用しているPCの環境によるものかもしれません。その場合はデータをご提示頂ければこちらでも確認したいと思います。

    #15460
    daifuku
    参加者

    新規アプリケーションで配置したリストオブジェクトに対し特にイベントを作らなかった場合は『フレームのフェードインの前に作成』にチェックをいれてフェードインさせても特に問題ありませんでした。

    ただ作っていただいたサンプルプログラムで同じ事をした場合はやはり同様のエラーがでました。こちらのPC環境のせいか、このイベントと『フレームのフェードインの前に作成』の相性が悪いのか分かりません。

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