フォーラムへの返信
-
投稿者投稿
-
Midoriko参加者
新しいサンプルありがとうございます。
一応 現状も障害物と重なっていないところから落とす方法を取っております。
配列オブジェクトを使えばアイテムを作成した座標をチェックすることで
同じ場所に重ねて配置されないようにでき、便利ですね。参考にさせて頂きます。
Midoriko参加者お返事ありがとうございます。
なるほど書き出し用のリストを別に用意しなくても、
一旦変数や可変文字列に抽出して、その場で判定も確かに可能ですね。その方が余計なオブジェクトも増えませんしイベントもクリアになりそうですね。
試してみます、ありがとうございました‥‥!Midoriko参加者こんにちは、わざわざサンプルを作って頂きありがとうございます‥‥!
マップ生成に関しては一枚絵を使っており、
障害物と空間が1つのチップの中に混在しているためややこしくなっています。
サンプルのように壁か空間かを配置事に判別できる形ではないので
同じ方法は取れないのですが、
一応 実際に壁部分に重なっているかどうかの判定を行うことでなんとか処理しています。ともあれ、配列オブジェクトの使い方など参考にさせて頂きます。
ありがとうございました!Midoriko参加者ご回答ありがとうございます‥‥!
プレイヤーへの表示は必要ありませんが、なるほど
追加のリストを用意してtokenizerでアイテム名部分のみをそちらに抽出し、
そちらを検索すれば 固有データを持たせている場合でも
可変文字列との一致で判定できますね。その方法であれば先頭一致だけでなく、tokenizerで分割・抽出することで
あらゆるデータを検索できるのでたいへん応用が利きますね。
耐久度がゼロになったジャンク装備5個と品物1つを交換、
みたいなイベントも簡単そうです。非常に有意義でした、ありがとうございました‥‥!
Midoriko参加者お返事ありがとうございます。
そうかーーループを回す方法がありましたね。
スッキリしていてとても使いやすいです、活用させて頂きます。一点、せっかくの機会ですので追加の質問をさせて頂きます。
可変文字列との一致を判定する方法ですと完全一致のみを検索できるため
アイテム名の後ろに個別ステータス(入手した日付や装備品の耐久など)を
入れてtokenizerで管理するようなケースへの対応は難しいかと思います。先頭一致に対応できるようなものも もしあれば教えて頂けると
後学・他のケースへの応用も含め大変ありがたいです。
やはりFindstringで同一文字列の複数行を検索するのは難しいでしょうか?当面はこちらのご回答のみで充分に助かります。
ひとまずありがとうございました。Midoriko参加者横から失礼します。
動作遅延の問題でわたしも苦慮していたのですが、
全体の色数を落とすことである程度改善しましたので提案させて頂きます。作品のプロパティで1670万色 → 32768色にしましたが、
一部グラデーションが荒くなった以外は
視覚的にパッとわかるほどの変化はありませんでした。またR-18作品とのことで、
背景やモブキャラは256色で妥協し女の子はフルカラー
とするのも一案かと思います。
(想定で言っているので効果が無いようでしたらASD様ご指摘願います。)なおわたしも2.5から2.5+へ制作途中のアップを行いましたが
こちらの環境で特に互換性の問題はありませんでした。
念のため作品のバックアップを取られてから試してみるのをお勧めします。Attachments:
You must be logged in to view attached files.Midoriko参加者(読みづらい部分を編集したら消えてしまいました;
多重投稿になってたらすみません)お返事ありがとうございます。
やはり難しいですか‥了解しました。なお、具体的な問題としては、まずアイテムなどのオブジェクトを
「壁に埋まっていない状態で、かつ接地はさせる」というのを
簡潔にするのが目的です。
アイテムの発生位置・数はランダムで、壁の形状などもランダム、
壁は追加で発生することもあります。
現在は
1.ランダム位置にアイテム生成後、壁に重なっているかどうかを判定
↓
2.壁に重なって生成された場合は再び位置をランダムに
↓
3.重ならなくなるまで繰り返し、重ならなくなった(空中に移動できた)
場合はフラグを立て動作で落とし、壁に触れたら停止
という形で組んでいます。原因はまだ分かりませんが それでも壁に埋まってしまう場合があり、
壁の追加発生や、今後移動する障害物を作った場合にも対応できません。
(オブジェクト数や処理を抑えるためPMOは使っていませんが、
使ったほうが簡単かなと思っています;)またPMOで制御しているキャラクターが
複雑な動作により壁に埋まってしまった場合に、
安全弁となるイベントを組む際にもとても有効そうだと思いました。
(現在はキャラクターの左右・上下・中心に判定用オブジェクトを置いており、
中心の判定が壁に触れたら「埋まってしまった」と判定させています)以上のように他の方法でも対応は可能なのですが、
判定オブジェクトと処理の増加、調整の難しさなどいくつかの点が、
重なっている割合の判定ひとつで解決できそうだったので、
もし可能ならと思い質問させて頂きました。現状は難しいとのことで、差し支えなければ要望として
開発の方へお伝え頂けると助かります。Midoriko参加者ASD様
ご回答ありがとうございます、お返事が遅れましてすみません。
今回も綺麗なイベントをサンプルとしてご提示下さり、たいへん参考になります。
このようにシンプルな計算式で出せるのですね。
Abs関数で絶対値を取得できるのも知らなかったので勉強になりました。すみません、オブジェクトがシンプルな四角形の場合
頂いた形で完全に対応できるようですが、
オブジェクトに凹凸があるなど複雑な形状の場合は端の座標から計算する形では難しそうです。
実際そのようなケースの方がずっと多くなってしまいます。さまざまなケースに対処したいため
オブジェクト同士がどのような形状・動作でも
それらが重なっている割合を汎用的に調べる方法があれば
引き続きご教授頂けるとたいへん助かります。Midoriko参加者こんにちは、ご回答ありがとうございます‥!
サンプルの方も確認させて頂きました。
とても詳しい解説で助かります。破壊のイベントは実は「イベントの最後で破壊することを決定する」という
挙動になっているんですね。ややこしい‥‥;
確かにそれですと、順番によって同じイベント内での
インスタンス特定の問題が出てしまうと思いますので、
ご案内のように行を分けるか 表示/非表示で対応しようと思います。ありがとうございました。
Midoriko参加者気付いたことがあるので追記させて頂きます。
カウンターオブジェクトには変数を設定できないという前提で質問させて頂きましたが、
ベースフレームなどを設定するプロジェクトのプロパティ→[イベント]タブにて
『カウンターと文字列の変数を許可する』という項目を見つけました。
チェックするとカウンターオブジェクトにも変数を設定できるようになりました。わたしは2.5+なので2.5では設定できないかもしれません。
何かの役に立つかもしれませんので、書き込ませて頂きます。
Midoriko参加者一種のダンジョンゲームでしょうか。
ぱっと見た感じ特にエクステンションを使用せず作れると思います。
4×4,5×5に広げることも可能です。動作を再現できないとのことですが、
動作のどの部分、例えば
・敵やアイテムを確率で出現させる
・敵カードを倒したときコインをドロップする
・コインを取得したり武器を装備する
・アイテムを取得したあと主人公を移動させる
・カードのアニメーション
などいろいろな要素がありますので、どの部分で躓いているのか
具体的な説明があれば詳しい方の回答を頂きやすいかな~と思います。まずできる限りご自身で組んでみて、分からない部分がはっきりしたら
制作中のデータをアップしてみるのも良いかもしれません。
(わたしもいつも質問している側なので回答できる自信はありませんが‥‥;)Midoriko参加者こんにちは、今回も詳しいご回答ありがとうございます‥‥!
ご回答、サンプルともたいへん分かりやすく、
参考どころではなくとても身になりました。特に、「Foreachループによりオブジェクトのインスタンスが特定されているので
紐づけする側を親に条件を設定する」という点がなるほどな~という感じで、
初めて、すこしですがForeachの挙動を感覚的に掴めたように思います。オブジェクト種による動作の違いや二値を比較する際
どちらを親にするかで結果が変わってくる、というのが本当にややこしくて
まだまだ勉強の必要性を感じました;さまざまなケースに応用が効くご回答、たいへん助かりました。
ありがとうございました。Midoriko参加者お返事ありがとうございます、改めてメールのほう送信させて頂きました。
お手数をお掛けしました。ご確認よろしくお願いします。
Midoriko参加者あけましておめでとうございます、お返事ありがとうございました。
アクションエディタから戻る際のクラッシュにつきまして、再現ができました。
録画したのでメールでお送りさせて頂きました。ご確認お願いします。クラッシュが発生する条件についてですが、
CF2.5+を起動してからの作業時間はすみません、関係なさそうです。次の手順を踏むと、わたしの制作しているデータでは
起動直後でも100%クラッシュしました。1.グローバルイベントエディタからいずれかの行をアクションエディタで開く
2.グローバルイベントエディタに戻る
3.フレームエディタなどを挟まず、もう一度アクションエディタを開く
-別の行でも可
4.アクションエディタ上でイベントを追加・変更またはコピー&ペーストし
「元に戻す」を実行
-ctrl+Zでも編集メニューから元に戻すをクリックでも可
-イベントをコピー&ペーストして削除しても発生せず、「元に戻す」のみ
5.グローバルイベントエディタやストーリーボードエディタに戻ろうとすると
クラッシュします。
-ctrl+Hで戻ろうとしても発生纏めるとグローバルイベントエディタからアクションエディタを2回以上開き、
2回目以降に「元に戻す」を実行していた場合にクラッシュする、というものです。制作中のプロジェクトはグローバルイベント1500行ほどです。
700行ほどの別のプロジェクトでも試したところ発生しました。
しかし新規作成したプロジェクトで複数の条件・イベントを設定した行を
1500行ほどにコピーしたあと手順を実行しましたが発生しませんでした。仰るようにデータ量が大きく関係しているか、
2.5から2.5+に引き継いでいることが関係しているかもしれません。お手数ですが、ご確認よろしくお願いします。
Midoriko参加者お返事、そして詳しい解説ありがとうございました!
注釈も丁寧に書いてくださって大変理解しやすかったです。とても助かりました、お手数をお掛けしました。
-
投稿者投稿