Discuss Scratch

hhayyatto
Scratcher
500+ posts

Scratch2.0をModする会

これはどうでしょう。
[リスト1v] の(1)番目を[リスト2v]の(1)番目と入れ替える]

1,1,2,3,5,8,13,21….
Fibonacci sequence
ああああああああ
aaaaa
masa2004
Scratcher
1000+ posts

Scratch2.0をModする会

hhayyatto wrote:

これはどうでしょう。
[リスト1v] の(1)番目を[リスト2v]の(1)番目と入れ替える]
(1 v) 番目 [リスト1 v] を ((1 v) 番目( [リスト2 v] ) :: list) で置き換える::list
これの事ですね。

得意なことがあったこと 今じゃもう忘れてるのは それを自分より 得意な誰かが居たから
CommandSlash017
Scratcher
500+ posts

Scratch2.0をModする会

masa2004 wrote:

hhayyatto wrote:

これはどうでしょう。
[リスト1v] の(1)番目を[リスト2v]の(1)番目と入れ替える]
(1 v) 番目 [リスト1 v] を ((1 v) 番目( [リスト2 v] ) :: list) で置き換える::list
これの事ですね。
いや、
[SaveData v] を ((1 v) 番目( [list1 v] ) :: list) にする
(1 v) 番目( [list1 v] )を ((1 v) 番目( [list2 v])) で置き換える
(1 v) 番目( [list2 v] )を (SaveData) で置き換える

assc
Scratcher
1000+ posts

Scratch2.0をModする会

MMGISS wrote:


スクラッチで自分のブロックを作る

ここではScratch2.0をModします。
簡単に言えば自分のブロックを作れるんです。
もし間違いがあれば言ってください

Scratchの内部では ActionScript が使われています。まあこれをすでに覚えてれば敵なしですね。

ソースコードを手にいれる
  1. まずgitをインストール。
  2. 以下のコマンドを実行。
    git clone https://github.com/LLK/scratch-flash

    Scratchをコンパイルする

  3. ターミナルを開く。
  4. ディレクトリをスクラッチのソースを含む場所にする。
    cd <path to source code>
    (例)desktop/Scratch/Modding/scratch-flash-developなら
    cd desktop
    cd Scratch
    cd modding
    cd scratch-flash-develop
    と打つ
  5. 以下の文を実行する。
    Unix-like OSを使ってるなら
    ./gradlew build
    Windowsなら
    gradlew.bat build
  6. 全部できたら、Scratchがbuild/11.6/Scratch.swfを見つけてくれます。

参照:https://scratch.mit.edu/discuss/post/324190/
英語版の古い方法リンクはどこに繋がってますか?

どうも!asscです。こっち側では時々活動します!
Postino
Scratcher
4 posts

Scratch2.0をModする会

takutok wrote:

バンドルした exe は adt コマンドで作れますよ。
そんなに難しくないです。
adtについてアレコレ調べながら試してみているのですが、どうもうまくいきません……。

エラーメッセージとして
Descriptor cannot be parsedScratch.swf: error 100: Descriptor cannot be parsed
が表示されるので、アプリケーション記述子あたりが怪しいと思ってはいるんですが、そこで詰まってしまっています。
application.xmlを自作する必要があるんでしょうか。
それとも、Scratch 2\META-INF\AIR\application.xmlあたりをモニョモニョするんでしょうか。
takutok
Scratcher
8 posts

Scratch2.0をModする会

Postino wrote:

takutok wrote:

バンドルした exe は adt コマンドで作れますよ。
そんなに難しくないです。
adtについてアレコレ調べながら試してみているのですが、どうもうまくいきません……。

エラーメッセージとして
Descriptor cannot be parsedScratch.swf: error 100: Descriptor cannot be parsed
が表示されるので、アプリケーション記述子あたりが怪しいと思ってはいるんですが、そこで詰まってしまっています。
application.xmlを自作する必要があるんでしょうか。
それとも、Scratch 2\META-INF\AIR\application.xmlあたりをモニョモニョするんでしょうか。

エラーはおそらく application.xml の指定が間違っているか、xml の記述が間違っています。
オフライン版に元からある applicartion.xml をそのまま流用できます。
ただAir SDKのバージョンによっては application xmlns のバージョンを変更しないとxmlのエラーになった覚えがあります。
Postino
Scratcher
4 posts

Scratch2.0をModする会

takutok wrote:

エラーはおそらく application.xml の指定が間違っているか、xml の記述が間違っています。
オフライン版に元からある applicartion.xml をそのまま流用できます。
ただAir SDKのバージョンによっては application xmlns のバージョンを変更しないとxmlのエラーになった覚えがあります。

ありがとうございます! 無事にAIRバンドル版のScratch 2.exeができました。
これでやっとAIRインストールを許可してくれない&オフラインな教室でも使える……
CommandSlash017
Scratcher
500+ posts

Scratch2.0をModする会

Git入れたばかりで何も分かっていないです。Git bashでGitHubからコードを入手するまではうまくいった(と思う)のですが、ビルドの仕方が分かりません。My browser / operating system: Windows NT 10.0 です。

abee
Scratcher
1000+ posts

Scratch2.0をModする会

MMGISS
Scratcher
1000+ posts

Scratch2.0をModする会

abee wrote:

分かりやすい記事がありました。

スクラッチのModding環境をつくろう : ロジックラボ for kids
Scratch Moddingで新しいブロックを作ろう : ロジックラボ for kids
すごい!初めて BUILD SUCCESSFUL が出ました!

しかしダメです!全然Scratch.swfに反映されません!
そもそもどうやったら反映できるんですか?
どなたかビルドできた人お願いします…

Last edited by MMGISS (July 4, 2017 12:03:17)

MMGISS_sub
Scratcher
43 posts

Scratch2.0をModする会

MMGISS wrote:

abee wrote:

分かりやすい記事がありました。

スクラッチのModding環境をつくろう : ロジックラボ for kids
Scratch Moddingで新しいブロックを作ろう : ロジックラボ for kids
すごい!初めて BUILD SUCCESSFUL が出ました!

しかしダメです!全然Scratch.swfに反映されません!
そもそもどうやったら反映できるんですか?
どなたかビルドできた人お願いします…
おおおおお!できました!!
Scratch Moddingで新しいブロックを作ろうの記事にはありませんでしたが、
ビルドして動作確認しようの項目にはまずbuild.gradlewでScratchをビルドする必要があるのですね
これでついに私にもできました!!ありがとうございます!

ちなみにbuild.gradlewのビルドはatomでも可能です!

Last edited by MMGISS_sub (July 10, 2017 12:16:43)

MMGISS_sub
Scratcher
43 posts

Scratch2.0をModする会

今回は記事を参考に
join %s %s %s ブロックと
あったらいいなみたいな感じで carriage return ブロックを作ってみました

きちんと動作します。
ActionScriptのソースがわかりやすいので初心者にもオススメです!
abee
Scratcher
1000+ posts

Scratch2.0をModする会

すばらしい。
もし、気が向いたら、「scratch2.0の提案」で話題になっているいくつかの機能を実装してみるのはいかがでしょう。
たとえば、右クリックメニューでx座標とy座標を入れ替えるとか。
apple502j
Scratcher
1000+ posts

Scratch2.0をModする会

「コンストラクタ関数がクラス ZipIO に指定されていません。」はどうすればいいでしょうか。
My browser / operating system: Windows 7, Firefox 54.0, Flash 26.0 (release 0)

OSS Contributor & Translator of Scratch 3.0, Experienced Wikian @ enwiki, Admin @ jawiki
51 Pull Requests merged to LLK repository since April 4, 2018
Speaks English & Japanese

Scratch 3.0のOSS貢献者と翻訳者、英語版ウィキでExperienced Wikian、日本語版管理者
2018年4月4日から、51本のPRがいままでにLLKリポジトリにマージされました
日本語+英語
MMGISS_sub
Scratcher
43 posts

Scratch2.0をModする会

右クリックして出るメニューはどのファイルにあるのでしょうか?
ShiftMenuで検索しても何にも出なくて…orz
inoking
Scratcher
1000+ posts

Scratch2.0をModする会

MMGISS_sub wrote:

右クリックして出るメニューはどのファイルにあるのでしょうか?
ShiftMenuで検索しても何にも出なくて…orz
src/scratch/BlockMenus.as ではないでしょうか。

当初はアカウントを親子で共用していましたが、アカウント分離しました。アナウンス内容
父:inoking   子:inotomoking
MMGISS_sub
Scratcher
43 posts

Scratch2.0をModする会

inoking wrote:

MMGISS_sub wrote:

右クリックして出るメニューはどのファイルにあるのでしょうか?
ShiftMenuで検索しても何にも出なくて…orz
src/scratch/BlockMenus.as ではないでしょうか。
みつけました!ありがとうございます!
なんとかして作ってみます!
MMGISS_sub
Scratcher
43 posts

Scratch2.0をModする会

なんだかんだ言って本当に相互変換の仕組みがわかんなかったので今までずっと欲しかったやつ作ってみました。

配列を指定した文字でつなげて文字列型で返すやつです。


こんなこともできちゃいます。
いままで配列全体を文字列型で参照するものといえば、
(list :: list)
これしかなく、また要素をつなげる文字も半角スペースで固定されてました。
これを使えば簡単に配列を取得でき、後者のように買い物リストも簡単に作れます。
もしかしたら、運営に提案してみる価値があるかもしれません。

ちなみにソースはこちらです。
src/Specs.as

src/primitives/ListPrims.as


src/scratch/ScratchObj.as

関数名よくわかんなかったんで適当です許してください
["connect %m.list by %s",								"r", 12, "getList:with:"],
primTable['getList:with:'] = primListWith;
private function primListWith(b:Block):String {
var list:ListWatcher = listarg(b, 0);
if (!list) return '';
return list.contents.join( interp.arg(b, 1) || '' );
}
if ('getList:with:' == op) return [defaultListName(), ',']

Last edited by MMGISS_sub (July 17, 2017 05:18:51)

inoking
Scratcher
1000+ posts

Scratch2.0をModする会

MMGISS_sub wrote:

~略~
いままで配列全体を文字列型で参照するものといえば、
(list :: list)
これしかなく、また要素をつなげる文字も半角スペースで固定されてました。
~略~
本筋でなくてすみません。
どうやると半角スペースで結合できますか?
変数にリストを代入してみたところ間に何も入らずそのままつながりました。

当初はアカウントを親子で共用していましたが、アカウント分離しました。アナウンス内容
父:inoking   子:inotomoking

Powered by DjangoBB

Standard | Mobile