セーブ機能実装!(*_*) テーブルのみ、場所と角度を「セーブ」ボタンで保存できるよ。 リストの2列目を3回クリックしてコピー。 セーブデータを読み込むボタンを押してペースト、Enterを押す! これで一度作った部屋をまた楽しめるね☆
セーブ機能を作るという良い機会を与えてくれた、原作者の@gi-muさんに誠の感謝!(^_-)-☆ あれ、あんなに頑張って打ち込んだ解説用コメントが・・・え・・・? うそ・・・? き、消え、、、て、、、 うわあああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ 2023/1/20/FRI 基本的な仕組み テーブルの変数(テーブルX、テーブルY、テーブルの角度、テーブルの番号)にそれぞれのクローンの座標・角度と番号を保存しています。これらの変数は「このスプライトのみ」のため、ひとつひとつのクローンに異なる数値を持つことを可能にしています。 その数値をX、Y、角度の順につなげたのが1個のテーブルのセーブコードです。これをクローンごとに行わせ、どんどん繋げていきます。また、このとき「(テーブルの番号) *0.2 秒待つ」ブロックを挟んでいる為、複数のクローンのスクリプトが重複することは(相当ラグくない限り)ありません。しかし各スプライトの動作が重複する可能性があるので、テーブルのセーブデータを生成してから、その次のセーブデータを生成するスプライト(椅子など)にメッセージを送って順番にセーブデータを生成する必要がありそうです。 X、Y、角度は元のデータから場合分けして4桁に統一して変換されています。よって1個のテーブルのセーブコードは4 * 3で12桁。つまりセーブデータ全体の文字の数は12で割り切れることになり、この性質をうまく使ってセーブコードをxy座標と角度に変換し、クローンを生成しています。このときカギになる変数は「セーブデータ解読の魁!」です。 もっと詳しく仕組みを知りたければ、中のスクリプトを見てみてくださいね。^_^ 気になるところや質問は気軽にコメントしてね☆ 後から考え直したけど同じ家具ってそんなにたくさん置かないよね・・・ いっそのことすべての家具を一つのスプライトにまとめてしまい、すべてクローンで実装する方が楽かもしれない。これから家具を追加していくことを考えると、スプライトの数ぶん、スクリプトや変数が膨大な量になってしまうことを防げるから、その方が拡張性は高いといえる。クローンの動作はそれぞれコスチュームの番号或いは名前で場合分けして実行させ、コスチュームの番号を2桁に統一してしまってセーブコードの先頭に繋げれば、各家具を一つのスプライトで表すことも可能なはず・・・ ただこれはかなり上級者向けで、間違えやすいから今のところは現在のシステムをスプライトに実装していくだけでも大丈夫だと思う。