投稿
nobu divine-creator
別の場所(コメント)でも書いたことですが、改めてこちらで質問します! スロット0のプログラムを起動すると、スロット1と2にプログラムが読み込まれて、選択肢によって各スロットへ移動するという仕組みを作っています。 基本的には、スロット0のプログラムを最初に起動すれば良いのですけど、スロット1か2のプログラムを最初に起動しても良い状態にするには、どのような仕組みにすれば可能なのでしょうか?
0そうだね
プレイ済み
返信[1]
親投稿
nobu divine-creator
ちなみに、スロット0へ入れるプログラムから起動すれば、正常にスロット1と2への移動が行えるようにはできています♪ スロット0を起動→スロット1へ移動OK         →スロット2へ移動OK スロット1からスロット2への移動OK        スロット0への移動OK スロット2からスロット1への移動OK        スロット0への移動OK ここまでは完成しているので、無理矢理変えなくても問題は無いのですけど、できればスロット1と2からも起動できたら良いかな?と考えました。
0そうだね
プレイ済み
返信[2]
親投稿
スー thanks_0u0
スロット1,2用のプログラムの最初でbacktraceを使って自分のスロット番号を取得して、もし自分が0番のスロットに読み込まれていたら、スロット0番用のプログラムをEXECしてしまえば、常にスロット0にスロット0用のプログラムが読まれることになりませんでしょうか?( ´ ω ` ) 質問の意図と違っていたらごめんなさい(´=ω= ` )
0そうだね
プレイ済み
返信[3]
親投稿
nobu divine-creator
私が考えているのは、「本来スロット1と2に読み込まれるプログラムを起動時のプログラムとして選べるようにする」という感じなのですけど、「スロット1か2を起動させようとするとスロット0が起動する」というのではなく、「どのスロットからでも起動を可能にする」という感じです。 それで、プログラムの途中で出る選択肢によって、別のスロットへ移動して最後まで進み、最初に戻ります。 そして再び、選択肢の所で別のスロットへ移動するか?そのまま進むか?選ぶというのを繰り返すことになります。 つまり、起動はスロット0~2のプログラムのどれからでも可能で、途中で各スロットへの移動を行い、最後はどれでも終われるという仕組みを実現したいと思っています♪ ただし、マルチな起動は難しいのであれば、まだ実現できなくても大丈夫です♪
0そうだね
プレイ済み
返信[4]
親投稿
スー thanks_0u0
ちょっとまだよくわかっていないかもですけれど、どのプログラムからでも実行できて、どのプログラムにも飛べれば良いのですよね。 例えば、作品を見る、から本来スロット1に読み込むプログラムを起動すると、スロット0に本来の1が読まれますよね。 なのでどのプログラムを実行しても、自分がスロット0に読み込まれたら、残りのプログラムをスロット1と2に読み込んで、その番号を変数に入れて把握しておけば良いのかも? その時に例えば位置関係を同じにして、(自分のスロット+1)MOD 3、みたいな指定をすれば、スロット0に読まれなかったプログラムからも、他のプログラムのスロット番号が把握できると思うので、やってみたらできそうな雰囲気はあります!( ´ ω ` ) でも実際試したわけではないですし、スロット間移動はあまり使ったことがないので間違ってたらごめんなさい!
0そうだね
プレイ済み
返信[5]
親投稿
nobu divine-creator
やはり、かなり複雑になってしまうのですね…! 操作のイメージは、そこに書いていただいた通りなので、スロット0が変わってしまうと、1と2に入れるプログラムも変わってしまうため、それぞれからの移動の仕組みを作るのは大変そうですね…。 元々の希望は、スロット0のプログラムから始めてほしいというものだったので、プレイヤーの自由度を優先しなければ、現在のままでも私としては全く問題ありません♪ とりあえず、今回はマルチな起動方法は不能にしておきます! 難しい問題を考えていただき、ありがとうございました♪ 後々、マルチな起動が必要になったら、この情報を参考にさせていただきます!
1そうだね
プレイ済み
返信[6]
親投稿
こう subwars
スロット○○に飛ぶんじゃなくて ラベルに飛ぶようにしてしまえば良いのでは…
0そうだね
プレイ済み
返信[7]
親投稿
nobu divine-creator
各スロットへの移動は、ラベルで移動するようになっていますよ♪
0そうだね
プレイ済み
返信[8]
親投稿
Godot orz_127
よくわからないのですが 最初に全スロットに読み込んで置くのではなく、最初スロット0だけで必要になったら別スロットに対象のファイルを読み込んで実行するのでは、駄目ですか?
0そうだね
プレイ済み
返信[9]
親投稿
nobu divine-creator
Godotさんからの御提案通りと思われる仕組みを試してみましたが、別スロットのラベルへの移動が上手くいきませんでした…。 スロットへの読み込み直後の移動は、速過ぎて間に合わないのでしょうか?
0そうだね
プレイ済み
返信[10]
親投稿
Godot orz_127
別スロットへのラベルでの移動ではないですが、 画像にある最初の部分をスロット0に置いて、後ろに書いた「P0」「P1」「P2」の部分を別ファイルとして作って置くと。 スロット0から実行してINPUTで入力された値に対応するファイルをスロット1にに読み込んで実行できます。 COMMON DEFでコマンドもしくは関数を「P0」「P1」「P2」側に用意しておくとスロット0側からスロット1側のコマンド、関数を呼び出せるのではないかと思います。 ちなみにEXECでのスロットを移動しながら動作には、致命的なバグがあるようです。 公式ページの障害報告を確認してみてください。
0そうだね
プレイ済み