Skip to content

すべてのスプライトの命令ブロックをRubyのコードに変換して「プロジェクト名.rb」という名前でダウンロードできる #112

@takaokouji

Description

@takaokouji
  • SB3Downloaderをコピーして、RubyDownloaderを作る。この時点では、メニューの文言がかわったていどで、ダウンロードするものは、sb3そのもの。
  • RubyDownloaderで呼び出すのは、 src/containers/blocks.jsx で定義した Blocks のメソッドにする。vmではないよ。vmでもいいっちゃあ、いいけど。保存するのは、 puts "Hello, world!" で OK。プロジェクト名.rbで内容は、それ。
  • editededTargetのみを変換したスクリプトを保存する
  • zipではなく、textでダウンロードできる
  • 他のスプライトも含めたすべてのスクリプトを保存する。 require "smalruby3" も含む。<- ここが難しそう。

ルビースクリプトをファイルに変換する時は、

require "smalruby3"

Stage.new(...) do
  ...
end

Sprite.new(...) do
  ...
end

(全てのスプライト分の繰り返し)

というのを想定しています。

全てのスプライトは、おそらくvmから取れると思います。メソッド名は確認してませんが、runtimeが見えたら、そこにtargetsとかいうのがあるはず。そこに格納されているのが、スプライトです。ステージも同じ入れもんに入っていますが、isStageで判定できるはず。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions