Discuss Scratch
- masa2004
-
1000+ posts
Scratch2.0をModする会
MODの投稿は禁止です。僕も気になってました… 共有したらどうなるんですかね 1つ質問なのですが、modされたものを使って作ったプロジェクトって共有していいんですか?
undefindとかになるでしょうかね
- apple502j
-
1000+ posts
Scratch2.0をModする会
ついに!日本語入力 in ペイントエディターたぬき油性マジック版
フォントはHigashiOmeを使いました。
v1.3iとライセンスをDLします。フォントはsrc/assets/fonts/に、ライセンスは英語版を「HigashiOme_LICENSE」などと改名して同フォルダにおきます。
ちなみにこのフォントの選定理由は、ライセンスがGPLと相性が良いからです。
ソースは2箇所変更です。
Resources.as 77DrawPropertyUI.as 349[Embed(source='fonts/HigashiOme-Gothic.ttf', fontName='HigashiOme', embedAsCFF='false',advancedAntiAliasing='true')] private static const Font7:Class;m.addItem('HigashiOme');
(マジック、マジックインキは登録商標です)
上のソースのうち、HigashiOme-GothicとHigashiOmeをTanukiMagicに変更して下さい。
たぬき本家サイト
- takutok
-
8 posts
Scratch2.0をModする会
「Scratch 2.0オフラインエディター」の exe のソースは
https://github.com/LLK には見当たらなかったのですが公開されてないのでしょうか?
実はオフライン版もオンライン版もソースコードは公開されていません。
github にリポジトリがあるようですが権限が無いと見れないです。
そこらへんがGPL的にどうなんだろうと前々から思っていましたが・・・(汗
私は自前でオフライン版の実装をしています。
最初はオンライン版をいじっていたのですが、中継するサーバのプログラムを作るのが大変だったり、
サーバの仕様が変わったりすると、動かなくなったりして追随するのが大変なのでもう止めました。
- kaaramochi
-
1000+ posts
Scratch2.0をModする会
もししたら、アラートですか? 共有禁止です。modには共有機能を付けること自体が禁止されています。
- inoking
-
1000+ posts
Scratch2.0をModする会
実はオフライン版もオンライン版もソースコードは公開されていません。https://github.com/LLK/scratch-www がオンライン版かと思っていたのですが違うのでしょうか?
github にリポジトリがあるようですが権限が無いと見れないです。
そこらへんがGPL的にどうなんだろうと前々から思っていましたが・・・(汗
私は自前でオフライン版の実装をしています。
最初はオンライン版をいじっていたのですが、中継するサーバのプログラムを作るのが大変だったり、
サーバの仕様が変わったりすると、動かなくなったりして追随するのが大変なのでもう止めました。
オフラインエディタのようなものをゼロから作ったということですか? ちなみに作っているオフライン版ではこういうことしています。
https://scratch.mit.edu/discuss/youtube/7h3HwVM0Z1o/
- wpqpqw
-
100+ posts
Scratch2.0をModする会
Modの説明を動画にして見ました
https://www.youtube.com/watch?v=RT57-JWZpAo
https://www.youtube.com/watch?v=RT57-JWZpAo
- takutok
-
8 posts
Scratch2.0をModする会
実はオフライン版もオンライン版もソースコードは公開されていません。https://github.com/LLK/scratch-www がオンライン版かと思っていたのですが違うのでしょうか?
github にリポジトリがあるようですが権限が無いと見れないです。
そこらへんがGPL的にどうなんだろうと前々から思っていましたが・・・(汗
私は自前でオフライン版の実装をしています。
最初はオンライン版をいじっていたのですが、中継するサーバのプログラムを作るのが大変だったり、
サーバの仕様が変わったりすると、動かなくなったりして追随するのが大変なのでもう止めました。オフラインエディタのようなものをゼロから作ったということですか? ちなみに作っているオフライン版ではこういうことしています。
https://scratch.mit.edu/discuss/youtube/7h3HwVM0Z1o/
scratch-www はサーバサイドです。
オンライン・オフライン版エディタは scratch-flash から派生したものです。
例えばオンライン版であれば、画像などのアセットデータを、httpで取得したり送信したりする部分を追加で実装する必要があります。
オフライン版の場合はアセットはローカルファイルなので、Airのファイルライブラリを使って読み書きする必要があります。
私が作っているものは scratch-flash を fork したものです。さすがにゼロからは難しいです。
- inoking
-
1000+ posts
Scratch2.0をModする会
この辺り疎くてすみません。 オンライン・オフライン版エディタは scratch-flash から派生したものです。
例えばオンライン版であれば、画像などのアセットデータを、httpで取得したり送信したりする部分を追加で実装する必要があります。
オフライン版の場合はアセットはローカルファイルなので、Airのファイルライブラリを使って読み書きする必要があります。
私が作っているものは scratch-flash を fork したものです。さすがにゼロからは難しいです。
scratch-flash はビルドすると .swf ができますが
Windows オフライン版についていうと
.exe は .swf のコンテナのようなもので、メニュー等はこの .exe 側で実装されている
と考えているのですが合っていますか?
仮に、自分でオフライン版を作るなら何を作ればよいのですか?
- takutok
-
8 posts
Scratch2.0をModする会
この辺り疎くてすみません。 オンライン・オフライン版エディタは scratch-flash から派生したものです。
例えばオンライン版であれば、画像などのアセットデータを、httpで取得したり送信したりする部分を追加で実装する必要があります。
オフライン版の場合はアセットはローカルファイルなので、Airのファイルライブラリを使って読み書きする必要があります。
私が作っているものは scratch-flash を fork したものです。さすがにゼロからは難しいです。
scratch-flash はビルドすると .swf ができますが
Windows オフライン版についていうと
.exe は .swf のコンテナのようなもので、メニュー等はこの .exe 側で実装されている
と考えているのですが合っていますか?
仮に、自分でオフライン版を作るなら何を作ればよいのですか?
Air はswf をデスクトップアプリケーション等として動かすランタイムです。
Windows用に何か実装したりとかする必要はありません。swf で完結しています。
そのあたりのことをまず調べた方がいいです。
オフライン版はローカルファイルに関係する部分をすべて実装する必要があります。
- inoking
-
1000+ posts
Scratch2.0をModする会
ビルドした Scratch.swf を Adobe Flash Player で開いても Scratch 2.exe を起動したのと同じ画面が出ました。 Air はswf をデスクトップアプリケーション等として動かすランタイムです。
Windows用に何か実装したりとかする必要はありません。swf で完結しています。
そのあたりのことをまず調べた方がいいです。
オフライン版はローカルファイルに関係する部分をすべて実装する必要があります。
swf で完結していることは分かりました。ありがとうございます。
少し話を戻しますが、
よく見たら scratch-flash の README.md の頭に書いていました。
This is the open source version of Scratch 2.0 and the core code for the official version found on http://scratch.mit.edu.となると
「the open source version of Scratch 2.0」というのは一体何者で
肝心のオンライン・オフライン版ソースを公開していないというのはGPL的にどうなの?という疑問が出てきますね。
好意的に解釈すると
オンライン・オフライン版の方がベースで、これから切り出してオープン版として公開しているということでしょうか。
- apple502j
-
1000+ posts
Scratch2.0をModする会
Scratch.as 1137行目に記述されていたソースコードです。
この関数は呼び出し元がありません。また、この内容はGPLと矛盾しています。
参考までにどうぞ
private function showAboutDialog():void { DialogBox.notify( 'Scratch 2.0 ' + versionString, '\n\nCopyright © 2012 MIT Media Laboratory' + '\nAll rights reserved.' + '\n\nPlease do not distribute!', stage); }
この関数は呼び出し元がありません。また、この内容はGPLと矛盾しています。
参考までにどうぞ
- apple502j
-
1000+ posts
Scratch2.0をModする会
Scratchに例外処理を追加する
Scratch1.4のような例外を自分で起こすキャップブロックが作成されます。いずれは0除算などで自動的に例外されるコードも作ります。
まず、ファイルを作成します。uiwidgetsフォルダーを右クリックし、New→Fileと進んで下さい。
ファイル名 ExceptDealog.as
種類 Plain Text
有料版を使用中の方は、ActionScriptでもいいです。
中身:
ScratchRuntime.as 59(書き換え)
ScratchRuntime.as 1579
Specs.as 281
Interpreter.as 466

Scratch1.4のような例外を自分で起こすキャップブロックが作成されます。いずれは0除算などで自動的に例外されるコードも作ります。
まず、ファイルを作成します。uiwidgetsフォルダーを右クリックし、New→Fileと進んで下さい。
ファイル名 ExceptDealog.as
種類 Plain Text
有料版を使用中の方は、ActionScriptでもいいです。
中身:
package uiwidgets { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.net.*; import flash.text.*; import flash.utils.ByteArray; import ui.parts.UIPart; import util.*; public class ExceptDialog extends Sprite { private var base:Shape; public function ExceptDialog(exceptStr:String){ addChild(base=new Shape()); setWidthHeight(240, 60); addTexts(exceptStr); } private function setWidthHeight(w:int, h:int):void { var g:Graphics = base.graphics; g.clear(); g.beginFill(CSS.white); g.drawRect(0, 0, w, h); g.endFill(); } private function makeLabel(s:String, fontSize:int, x:int = 0, y:int = 0, bold:Boolean = false):TextField { var tf:TextField = new TextField(); tf.selectable = false; tf.defaultTextFormat = new TextFormat(CSS.font, fontSize, CSS.textColor, bold); tf.autoSize = TextFieldAutoSize.LEFT; tf.text = s; tf.x = x; tf.y = y; addChild(tf); return tf; } private function addTexts(exceptStr:String):void{ makeLabel("Error:"+exceptStr,12,1); makeLabel("This script was stopped.",12,0,30,1); } } }
import uiwidgets.*;
public function doExceptError(exceptStr:String):void { var d:DialogBox = new DialogBox(); stopAll(); interp.getPrim("stopAll"); d.addTitle('Error'); d.addWidget(new ExceptDialog(exceptStr)); d.addButton('Close', d.cancel); d.showOnStage(app.stage, true); }
["show error %s", "f", 106, "Excepting", ""],
primTable["Excepting"] = function(b:*):*{var r:ScratchRuntime=new ScratchRuntime(app,app.interp);r.doExceptError(arg(b,0));}

- apple502j
-
1000+ posts
Scratch2.0をModする会
Modから「Scratch」関連の素材をなくす。
・Scratchフォントを削除する
Resources.as 76
DrawPropertyUI.as 348
src\assets\fonts\Scratch.ttf
・pop.wavを削除する
LibraryPart.as 98 ‘pop’,
ScratchObj.as 49
ScratchSprites.as 91,92
ScratchStage.as 196,197
Specs.as 186,187 “pop”を“”に
src\assets\pop.wav
・Scratchロゴを削除する
Resources.as 99,100,101,108,109,110,111
src\assets\UI\topbar\scratchlogoOn.png
src\assets\UI\topbar\openInScratch.ong
src\assets\UI\topbar\scratchx-logo.png
src\assets\UI\topbar\projectPageFlip.png
src\assets\UI\topbar\myStuffOff.gif
src\assets\UI\topbar\myStuffOn.png
src\assets\UI\topbar\scratchlogoOff.png
・ヘルプを削除する
MediaInfo.as 375 }だけに
Scratchsprite.as 482
CursorTool.as 56,57,58
ImagesPart.as 531-541
TopBarPart.as 51,159,190,191,192,218,232,242,
TopBarPart.as 96 ‘Block help’, を削除
TopBarPart.as 160 helpTool.y = を削除
Button.as 125
BlockMenus.as 540
Resources.as 90,103,120,121
SpriteThumbnail.as 289
TranslatableStrings.as 72-96
Block.as 841,845-859
ImageCanvas.as 385
IconButton.as 168
ButtonInverted.as 119
・Scratchフォントを削除する
Resources.as 76
DrawPropertyUI.as 348
src\assets\fonts\Scratch.ttf
・pop.wavを削除する
LibraryPart.as 98 ‘pop’,
ScratchObj.as 49
ScratchSprites.as 91,92
ScratchStage.as 196,197
Specs.as 186,187 “pop”を“”に
src\assets\pop.wav
・Scratchロゴを削除する
Resources.as 99,100,101,108,109,110,111
src\assets\UI\topbar\scratchlogoOn.png
src\assets\UI\topbar\openInScratch.ong
src\assets\UI\topbar\scratchx-logo.png
src\assets\UI\topbar\projectPageFlip.png
src\assets\UI\topbar\myStuffOff.gif
src\assets\UI\topbar\myStuffOn.png
src\assets\UI\topbar\scratchlogoOff.png
・ヘルプを削除する
MediaInfo.as 375 }だけに
Scratchsprite.as 482
CursorTool.as 56,57,58
ImagesPart.as 531-541
TopBarPart.as 51,159,190,191,192,218,232,242,
TopBarPart.as 96 ‘Block help’, を削除
TopBarPart.as 160 helpTool.y = を削除
Button.as 125
BlockMenus.as 540
Resources.as 90,103,120,121
SpriteThumbnail.as 289
TranslatableStrings.as 72-96
Block.as 841,845-859
ImageCanvas.as 385
IconButton.as 168
ButtonInverted.as 119
- inoking
-
1000+ posts
Scratch2.0をModする会
Scratchに例外処理を追加するこれは今のところダイアログを出して停止するだけのブロックということですか?
Scratch1.4のような例外を自分で起こすキャップブロックが作成されます。いずれは0除算などで自動的に例外されるコードも作ります。
- inoking
-
1000+ posts
Scratch2.0をModする会
どのみち素材には scratch-flash のソースそのままではアクセスできないので削除する必要がないように思います。 Modから「Scratch」関連の素材をなくす。
逆に、素材にアクセスする方法が分かれば公開していただきたいです。
- apple502j
-
1000+ posts
Scratch2.0をModする会
ここでは、ソースに入っているpop.wavなどを削除しています。どのみち素材には scratch-flash のソースそのままではアクセスできないので削除する必要がないように思います。 Modから「Scratch」関連の素材をなくす。
逆に、素材にアクセスする方法が分かれば公開していただきたいです。
素材フォルダにアクセスできないようなので、そこは手をつけていません
はい。Scratchに例外処理を追加するこれは今のところダイアログを出して停止するだけのブロックということですか?
Scratch1.4のような例外を自分で起こすキャップブロックが作成されます。いずれは0除算などで自動的に例外されるコードも作ります。
内部で
を実行しています。