Discuss Scratch

apple502j
Scratcher
1000+ posts

Scratch2.0をModする会

いろいろなmod
・コスチューム名 Specs.as 163
		["costume name",                        "r", 2, "costumeName"],
・楽器 SoundPrims.as 68
		primTable["getInstrument"]         = function(b:*):* { return interp.targetObj().instrument+1 };
Specs.as 189
		["instrument",                          "r", 3, "getInstrument"],

・大文字小文字識別= Specs.as 339
		["%s equals %s completely",             "b", 8, "ceqA:B:",              "", ""],
Primitives.as 178
		public static function ceq(a1:*, a2:*):int {
    		// This is static so it can be used by the list "contains" primitive.
    		var n1:Number = Interpreter.asNumber(a1);
    		var n2:Number = Interpreter.asNumber(a2);
    		// X != X is faster than isNaN()
    		if (n1 != n1 || n2 != n2) {
    			// Suffix the strings to avoid properties and methods of the Dictionary class (constructor, hasOwnProperty, etc)
    			if (a1 is String && emptyDict[a1]) a1 += '_';
    			if (a2 is String && emptyDict[a2]) a2 += '_';
    			// at least one argument can't be converted to a number: compare as strings
    			var s1:String = lcDict[a1];
    			if(!s1) s1 = lcDict[a1] = String(a1);
    			var s2:String = lcDict[a2];
    			if(!s2) s2 = lcDict[a2] = String(a2);
    			return s1.localeCompare(s2);
    		} else {
    			// compare as numbers
    			if (n1 < n2) return -1;
    			if (n1 == n2) return 0;
    			if (n1 > n2) return 1;
    		}
    		return 1;
    	}
Primitives.as 54:
		primTable["ceqA:B:"]        = function(b:*):* { return ceq(interp.arg(b,0),interp.arg(b,1)) == 0};

・累乗 Primitives.as 61
		primTable["pow"]            = function(b:*):* { return Math.pow(interp.numarg(b,0),interp.numarg(b,1)) };
Specs.as 334:
		["%n ^ %n",                             "r", 8, "pow",                  "", ""],

・表示されている SensingPrims.as 250
    private function primIsShown(b:Block):* {
        var objName=interp.arg(b, 0);
    	var proto:ScratchObj = app.stagePane.objNamed(String(objName));
	if ('_myself_' == objName) proto = interp.activeThread.target;
    	if(proto is ScratchSprite){
    	    var s:ScratchSprite = ScratchSprite(proto);
    	    return s.visible;
    	}
    	return false;
    }
SensingPrims.as 60
		primTable['isShown:']           = primIsShown;
Specs.as 300
		["%m.spriteOnly is shown?",             "b", 7, "isShown:"],
Specs.as 325
		["%m.spriteOnly is shown?",             "b", 107, "isShown:"],

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リポジトリにマージされました
日本語+英語
CommandSlash017
Scratcher
500+ posts

Scratch2.0をModする会

コスチューム名のブロックはハッキングで出せる=一応実装はされているので、そのブロックの色をはっきりさせてブロックパレットに表示するだけで良いと思うのですが…

apple502j
Scratcher
1000+ posts

Scratch2.0をModする会

CommandSlash017 wrote:

コスチューム名のブロックはハッキングで出せる=一応実装はされているので、そのブロックの色をはっきりさせてブロックパレットに表示するだけで良いと思うのですが…
だから、それを実装しているのです。
Specs.asにあるのは、ブロックパレットのブロック一覧です。
そこにコスチューム名ブロックを追加しています。

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リポジトリにマージされました
日本語+英語
CommandSlash017
Scratcher
500+ posts

Scratch2.0をModする会

apple502j wrote:

CommandSlash017 wrote:

コスチューム名のブロックはハッキングで出せる=一応実装はされているので、そのブロックの色をはっきりさせてブロックパレットに表示するだけで良いと思うのですが…
だから、それを実装しているのです。
Specs.asにあるのは、ブロックパレットのブロック一覧です。
そこにコスチューム名ブロックを追加しています。
ブロックの色はブロックパレットによって決定されているという解釈で良いですか?

apple502j
Scratcher
1000+ posts

Scratch2.0をModする会

CommandSlash017 wrote:

apple502j wrote:

CommandSlash017 wrote:

コスチューム名のブロックはハッキングで出せる=一応実装はされているので、そのブロックの色をはっきりさせてブロックパレットに表示するだけで良いと思うのですが…
だから、それを実装しているのです。
Specs.asにあるのは、ブロックパレットのブロック一覧です。
そこにコスチューム名ブロックを追加しています。
ブロックの色はブロックパレットによって決定されているという解釈で良いですか?
いいえ。
["ブロック名",             "種類(スペース:スタック r:値 b:真偽", ブロックのカテゴリ(=色), "呼ばれる関数",              "初期値(任意)"],
という書式です

Last edited by apple502j (July 30, 2017 06:23:57)


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リポジトリにマージされました
日本語+英語
apple502j
Scratcher
1000+ posts

Scratch2.0をModする会

押されたキー&キーの対応を増やす
BlockMenus.as 314(書き換え)
	private function keyMenu(evt:MouseEvent):void {
		var ch:int;
		var namedKeys:Array = ['space', 'up arrow', 'down arrow', 'right arrow', 'left arrow', 'any', 'delete', 'backspace', 'tab', 'shift', 'enter'];
		var m:Menu = new Menu(setBlockArg, 'key');
		for each (var s:String in namedKeys) m.addItem(s);
		for (ch = 33; ch < 127; ch++) m.addItem(String.fromCharCode(ch)); // all char can be shown
		showMenu(m);
	}
SensingPrims.as 58:
		primTable['pressedKeys']        = primPressedKeys;
SensingPrims.as 226(書き換え)
	private function primKeyPressed(b:Block):Boolean {
		var key:String = interp.arg(b, 0);
		if (key == 'any') {
			for each (var k:Boolean in app.runtime.keyIsDown) {
				if (k) return true;
			}
			return false;
		}
		if (key == 'shift') return app.runtime.shiftIsDown;
		var ch:int = key.charCodeAt(0);
		if (ch > 127) return false;
		if (key == 'backspace') ch = 8;
		if (key == 'tab') ch = 9;
		if (key == 'enter') ch = 13;
		if (key == 'delete') ch = 127;
		if (key == 'left arrow') ch = 28;
		if (key == 'right arrow') ch = 29;
		if (key == 'up arrow') ch = 30;
		if (key == 'down arrow') ch = 31;
		if (key == 'space') ch = 32;
		return app.runtime.keyIsDown[ch];
	}
SensingPrims.as 248
    private function primPressedKeys(b:Block):* {
        var i:int;
        var keydata:String;
        var keys:String = "";
        if(app.runtime.shiftIsDown) keys+='shift ';
        for (i=0;i<128;i++)
        {
            if(app.runtime.keyIsDown[i]){
                keydata=String.fromCharCode(i);
                if(i == 8)   keydata='backspace';
                if(i == 9)   keydata='tab';
                if(i == 10)  keydata='enter';
                if(i == 13)  keydata='enter';
                if(i == 28)  keydata='left arrow';
                if(i == 29)  keydata='right arrow';
                if(i == 30)  keydata='up arrow';
                if(i == 31)  keydata='down arrow';
                if(i == 32)  keydata='space';
                if(i == 127) keydata='delete';
                keys+=(keydata+' ');
            }
        }
        return keys;
    }
Specs.as 286
		["pressed key",                         "r", 7, "pressedKeys"],
Specs.as 312
		["pressed key",                         "r", 107, "pressedKeys"],
既知のバグ:Shiftキー+なにかで、キーを離しても押されたキーとなる 日本語入力中は、正常に動作しない。

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リポジトリにマージされました
日本語+英語
apple502j
Scratcher
1000+ posts

Scratch2.0をModする会

回転方法
Specs.as 138
		["rotation style",						"r", 1, "rotationStyle"],
MotionAndPenPrims.as 66
        primTable["rotationStyle"]      = primRotationStyle;
MotionAndPenPrims.as 230
	private function primRotationStyle(b:Block):String {
		var s:ScratchSprite = interp.targetSprite();
		return (s != null) ? s.rotationStyle: '';
	}

( v) of ( v)の改良
SensingPrims.as 290(書き換え)
	private function primGetAttribute(b:Block):* {
		var attribute:String = interp.arg(b, 0);
		var obj:ScratchObj = app.stagePane.objNamed(String(interp.arg(b, 1)));
		if (!(obj is ScratchObj)) return 0;
		if (obj is ScratchSprite) {
			var s:ScratchSprite = ScratchSprite(obj);
			if ('x position' == attribute) return s.scratchX;
			if ('y position' == attribute) return s.scratchY;
			if ('direction' == attribute) return s.direction;
			if ('costume #' == attribute) return s.costumeNumber();
			if ('costume name' == attribute) return s.currentCostume().costumeName;
			if ('size' == attribute) return s.getSize();
			if ('volume' == attribute) return s.volume;
			if ('rotation style' == attribute) return s.rotationStyle;
			if ('pen width' == attribute) return s.penWidth;
			if ('pen shade' == attribute) return s.penShade;
			if ('pen color' == attribute) return s.penHue;
			if ('instrument' == attribute) return s.instrument+1;
		} if (obj is ScratchStage) {
			if ('background #' == attribute) return obj.costumeNumber(); // support for old 1.4 blocks
			if ('backdrop #' == attribute) return obj.costumeNumber();
			if ('backdrop name' == attribute) return obj.currentCostume().costumeName;
			if ('volume' == attribute) return obj.volume;
			if ('instrument' == attribute) return obj.instrument+1;
		}
		if (obj.ownsVar(attribute)) return obj.lookupVar(attribute).value; // variable
		return 0;
	}
BlockMenus.as 53(書き換え)
	private static const spriteAttributes:Array = ['x position', 'y position', 'direction', 'costume #', 'costume name', 'size', 'volume', 'pen color', 'pen width', 'pen shade', 'rotation style', 'instrument'];
	private static const stageAttributes:Array = ['backdrop #', 'backdrop name', 'volume', 'instrument'];


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リポジトリにマージされました
日本語+英語
suraimutatu
Scratcher
1000+ posts

Scratch2.0をModする会

すみません… scratch.swfの文字コード教えてくれませんか…?
JIS,UTF-8,ISO,全部文字化けしてしまいました…

3dオブジェクト作成します 解像度10x10のドット風フォント! インクスピル!100パーセントpen!円を描画できるよ!alphont!
inoking
Scratcher
1000+ posts

Scratch2.0をModする会

suraimutatu wrote:

すみません… scratch.swfの文字コード教えてくれませんか…?
JIS,UTF-8,ISO,全部文字化けしてしまいました…
.swf はバイナリなのでテキストとしては開けません。
何をしようとされていますか?

Last edited by inoking (July 30, 2017 08:49:48)


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

Scratch2.0をModする会

すみません
早とちりしてよく読んでませんでした…

3dオブジェクト作成します 解像度10x10のドット風フォント! インクスピル!100パーセントpen!円を描画できるよ!alphont!
MMGISS
Scratcher
1000+ posts

Scratch2.0をModする会

apple502j wrote:

押されたキー
SensingPrims.as 248
    private function primPressedKeys(b:Block):* {
        var i:int;
        var keydata:String;
        var keys:String = "";
        if(app.runtime.shiftIsDown) keys+='shift ';
        for (i=0;i<128;i++)
        {
            if(app.runtime.keyIsDown[i]){
                keydata=String.fromCharCode(i);
                if(i == 8)   keydata='backspace';
                if(i == 9)   keydata='tab';
                if(i == 10)  keydata='enter';
                if(i == 13)  keydata='enter';
                if(i == 28)  keydata='left arrow';
                if(i == 29)  keydata='right arrow';
                if(i == 30)  keydata='up arrow';
                if(i == 31)  keydata='down arrow';
                if(i == 32)  keydata='space';
                if(i == 127) keydata='delete';
                keys+=(keydata+' ');
            }
        }
        return keys;
    }
	private function primPressedKeys(b:Block):* {
			var i:int;
			var keydata:String;
			var keys:String = '';
			if (app.runtime.shiftIsDown) keys += 'shift ';
			for ( i = 0 ; i < 128; i++ ){
					if ( app.runtime.keyIsDown[i] ) {
							keydata = String.fromCharCode(i);
							if (i == 28)  keydata = 'left arrow';
							if (i == 29)  keydata = 'right arrow';
							if (i == 30)  keydata = 'up arrow';
							if (i == 31)  keydata = 'down arrow';
							if (i == 32)  keydata = 'space';
							keys += ( ( keys == '' ? '' : ', ') + keydata );
					}
			}
			return keys;
	}
現在対応している文字以外は抜いてみました。
また一部返り値を見やすくするために変更しました。
apple502j
Scratcher
1000+ posts

Scratch2.0をModする会

MMGISS wrote:

apple502j wrote:

押されたキー
SensingPrims.as 248
    private function primPressedKeys(b:Block):* {
        var i:int;
        var keydata:String;
        var keys:String = "";
        if(app.runtime.shiftIsDown) keys+='shift ';
        for (i=0;i<128;i++)
        {
            if(app.runtime.keyIsDown[i]){
                keydata=String.fromCharCode(i);
                if(i == 8)   keydata='backspace';
                if(i == 9)   keydata='tab';
                if(i == 10)  keydata='enter';
                if(i == 13)  keydata='enter';
                if(i == 28)  keydata='left arrow';
                if(i == 29)  keydata='right arrow';
                if(i == 30)  keydata='up arrow';
                if(i == 31)  keydata='down arrow';
                if(i == 32)  keydata='space';
                if(i == 127) keydata='delete';
                keys+=(keydata+' ');
            }
        }
        return keys;
    }
	private function primPressedKeys(b:Block):* {
			var i:int;
			var keydata:String;
			var keys:String = '';
			if (app.runtime.shiftIsDown) keys += 'shift ';
			for ( i = 0 ; i < 128; i++ ){
					if ( app.runtime.keyIsDown[i] ) {
							keydata = String.fromCharCode(i);
							if (i == 28)  keydata = 'left arrow';
							if (i == 29)  keydata = 'right arrow';
							if (i == 30)  keydata = 'up arrow';
							if (i == 31)  keydata = 'down arrow';
							if (i == 32)  keydata = 'space';
							keys += ( ( keys == '' ? '' : ', ') + keydata );
					}
			}
			return keys;
	}
現在対応している文字以外は抜いてみました。
また一部返り値を見やすくするために変更しました。
こちらの環境ではわたしのソースコードの文字がすべて動作しました。

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リポジトリにマージされました
日本語+英語
apple502j
Scratcher
1000+ posts

Scratch2.0をModする会

「ドラッグのON/OFF」機能
https://scratch.mit.edu/discuss/post/2750665/ BlockMenus.asのコードを追加
Specs.as 139
		["--"],
		["draggable",                           "b", 1, "draggable"],
		["set drag to %m.onOff",                " ", 1, "setDragTo:",                   'off'],
MotionAndPenPrims.as 68
        primTable["draggable"]          = primDraggable;
        primTable["setDragTo:"]         = primSetDrag;
MotionAndPenPrims.as 210
	private function primSetDrag(b:Block):void {
		var s:ScratchSprite = interp.targetSprite();
		if (s != null) s.isDraggable=(interp.arg(b, 0)=='on');
	}
	private function primDraggable(b:Block):Boolean {
	    var s:ScratchSprite = interp.targetSprite();
	    return s?s.isDraggable:false;
	}

Last edited by apple502j (July 30, 2017 23:36:35)


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リポジトリにマージされました
日本語+英語
apple502j
Scratcher
1000+ posts

Scratch2.0をModする会

画像効果を取得する
FilterPack.as 95
    public function getFilter(filterName:String):Number {
        return filterDict[filterName];
    }
LooksPrims.as 63
		primTable['getEffect:']             = primGetEffect;
LooksPrims.as 212
	private function primGetEffect(b:Block):Number {
	    var s:ScratchObj = interp.targetObj();
	    if (s == null) return 0;
	    return s.filterPack.getFilter(interp.arg(b,0));
	 }
Specs.as 159
		["effect of %m.effect",                 "r", 2, "getEffect:",               "color"],
Specs.as 180
		["effect of %m.effect",                 "r", 102, "getEffect:",               "color"],

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リポジトリにマージされました
日本語+英語
suraimutatu
Scratcher
1000+ posts

Scratch2.0をModする会

素数判定作ってみました!

Primitives.as 45
public function Prime_num(judge_num:int) {
var prime:int = 0;
for(var i:int = 2; i < judge_num; i++) {
if ( judge_num % i == 0) {
prime = 1;
}
}
if (prime == 0) {
return true;
} else {
return false;
} };
Primitives.as 73
primTable["prime"]          = function(b:*):* { return Prime_num(interp.numarg(b, 0))};
Specs.as 344
["prime %n ?",						"b", 8, "prime",	19],
初めて作ったのでもっと簡単にできるかもしれません…

Last edited by suraimutatu (July 30, 2017 23:09:57)


3dオブジェクト作成します 解像度10x10のドット風フォント! インクスピル!100パーセントpen!円を描画できるよ!alphont!
apple502j
Scratcher
1000+ posts

Scratch2.0をModする会

初期値つき「聞いて待つ」
AskPrompter.as 37(書き換え)
	public function	AskPrompter(promptString:String, defaultString:String, app:Scratch) {
		this.app = app;
		var w:int = 449;
		var h:int = (promptString == "") ? 34 : 51;
		addBackground(w, h);
		addDoneButton(w, h);
		addPrompt(promptString);
		addInputField(h,defaultString);
		x = 10;
		y = 340 - height;
		addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
		addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
	}
AskPrompter.as 97(書き換え)
	private function addInputField(h:int,def:String):void {
		input = new TextField();
		input.defaultTextFormat = new TextFormat(CSS.font, fontSize, 0, false);
		input.type = TextFieldType.INPUT;
		input.background = true;
		input.backgroundColor = inputFieldColor;
		input.width = 410;
		input.height = 20;
		input.text = def;
		var f:BevelFilter = new BevelFilter();
		f.angle = 225;
		f.shadowAlpha = 0.6;
		f.distance = 3;
		f.strength = 0.4;
		f.blurX = f.blurY = 0;
		f.type = BitmapFilterType.OUTER;
		input.filters = [f];
		input.x = 9;
		input.y = h - (input.height + 5);
		addChild(input);
	}
ScratchRuntime.as 897(書き換え)
	public function showAskPrompt(question:String = '',defaultString:String = ''):void {
		var p:AskPrompter = new AskPrompter(question, defaultString, app);
		interp.askThread = interp.activeThread;
		p.x = 15;
		p.y = ScratchObj.STAGEH - p.height - 5;
		app.stagePane.addChild(p);
		setTimeout(p.grabKeyboardFocus, 100); // workaround for Window keyboard event handling
	}
SensingPrims.as 203(書き換え)
	private function primAsk(b:Block):void {
		if (app.runtime.askPromptShowing()) {
			// wait if (1) some other sprite is asking (2) this question is answered (when firstTime is false)
			interp.doYield();
			return;
		}
		var obj:ScratchObj = interp.targetObj();
		if (interp.activeThread.firstTime) {
			var question:String = interp.arg(b, 0);
			if ((obj is ScratchSprite) && (obj.visible)) {
				ScratchSprite(obj).showBubble(question, 'talk', obj, true);
				app.runtime.showAskPrompt('',interp.arg(b,1));
			} else {
				app.runtime.showAskPrompt(question,interp.arg(b,1));
			}
			interp.activeThread.firstTime = false;
			interp.doYield();
		} else {
			if ((obj is ScratchSprite) && (obj.visible)) ScratchSprite(obj).hideBubble();
			interp.activeThread.firstTime = true;
		}
	}
Specs.as 288 (書き換え)
		["ask %s and wait default %s",			" ", 7, "doAsk", 				"What's your name?", ""],
Specs.as 314(書き換え)
		["ask %s and wait default %s",			" ", 107, "doAsk", 				"What's your name?", ""],

Last edited by apple502j (July 30, 2017 23:26:01)


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リポジトリにマージされました
日本語+英語
apple502j
Scratcher
1000+ posts

Scratch2.0をModする会

各種定数
Specs.as 367
		["-"],
		["True",                                "b", 8, "constTrue"],
		["pi",                                  "r", 8, "constPI"],
		["CR",                                  "r", 8, "constCR"],
		["LF",                                  "r", 8, "constLF"],
		["Tab",                                 "r", 8, "constTab"],
Primitives.as 75
	    primTable["constTrue"] = function(b:*):*{return true;}
	    primTable["constPI"]   = function(b:*):*{return Math.PI;}
	    primTable["constCR"]   = function(b:*):*{return String.fromCharCode(10);}
	    primTable["constLF"]   = function(b:*):*{return String.fromCharCode(13);}
	    primTable["constTab"]  = function(b:*):*{return String.fromCharCode(9);}

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リポジトリにマージされました
日本語+英語
apple502j
Scratcher
1000+ posts

Scratch2.0をModする会

ついに!日本語入力 in ペイントエディター

フォントはHigashiOmeを使いました。
v1.3iとライセンスをDLします。フォントはsrc/assets/fonts/に、ライセンスは英語版を「HigashiOme_LICENSE」などと改名して同フォルダにおきます。
ちなみにこのフォントの選定理由は、ライセンスがGPLと相性が良いからです。

ソースは2箇所変更です。
Resources.as 77
	[Embed(source='fonts/HigashiOme-Gothic.ttf', fontName='HigashiOme', embedAsCFF='false',advancedAntiAliasing='true')] private static const Font7:Class;
DrawPropertyUI.as 349
			m.addItem('HigashiOme');




注意:1フォントにつき3-4MB Scratch.swfが重くなります

Last edited by apple502j (July 31, 2017 10:19:37)


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リポジトリにマージされました
日本語+英語
fine316
Scratcher
1000+ posts

Scratch2.0をModする会

1つ質問なのですが、modされたものを使って作ったプロジェクトって共有していいんですか?

AtCoder はいいぞ
suraimutatu
Scratcher
1000+ posts

Scratch2.0をModする会

fine316 wrote:

1つ質問なのですが、modされたものを使って作ったプロジェクトって共有していいんですか?
僕も気になってました… 共有したらどうなるんですかね
undefindとかになるでしょうかね

Last edited by suraimutatu (July 31, 2017 10:25:04)


3dオブジェクト作成します 解像度10x10のドット風フォント! インクスピル!100パーセントpen!円を描画できるよ!alphont!

Powered by DjangoBB

Standard | Mobile