Discuss Scratch
- Discussion Forums
- » 日本語
- » 意外と知られていないテクニック集
- haws0873
-
Scratcher
96 posts
意外と知られていないテクニック集
だんだん減速するアニメーションはスプライトを3つ用意すれば可能
まずスプライト1に
スプライト2には
スプライト3(動かしたいもの)には
こんなことしなくてもsinやcosを使えばできそうだけど技術力が足りないのでもしできたら教えて欲しい((((
まずスプライト1に
を入れるwhen green flag clicked
forever
wait (0.1) secs
broadcast [please move v]
end
スプライト2には
にするwhen I receive [please move v]
stop [このスプライトの他のスクリプトを止める v]
forever
glide (1) secs to x: (0) y: (0)
end
スプライト3(動かしたいもの)には
を入れるwhen green flag clicked
forever
go to x: ([x position v] of [スプライト2 v]) y: ([y position v] of [スプライト2 v])
end
こんなことしなくてもsinやcosを使えばできそうだけど技術力が足りないのでもしできたら教えて欲しい((((
Last edited by haws0873 (Dec. 20, 2025 09:24:40)
- syutoko_44
-
Scratcher
1 post
意外と知られていないテクニック集
以下のコードで、16進数→10進数の変換が可能
また、同じ要領で、
も10進数に変換できる。
((1) * (join [0x] (16進数)))
また、同じ要領で、
((1) * (join [0b] (2進数)))
((1) * (join [0o] (8進数)))
も10進数に変換できる。
- moyasi_official
-
Scratcher
100+ posts
意外と知られていないテクニック集
消去
Last edited by moyasi_official (Dec. 20, 2025 12:51:18)
- 5656godzilla
-
Scratcher
15 posts
意外と知られていないテクニック集
こんなことしなくてもsinやcosを使えばできそうだけど技術力が足りないのでもしできたら教えて欲しい((((
多分これが一番楽です(x座標の場合)
repeat [20~30程度]
change x by (((目標) - (x position)) / [大きいと遅くなる 1以上にしないと通り過ぎる])
end
Last edited by 5656godzilla (Dec. 20, 2025 22:37:39)
- DANGOKYOUDAI
-
Scratcher
2 posts
意外と知られていないテクニック集
クローンを多用する作品で役立つテクニック
実は『このスプライトが押されたとき』のブロックは、すべてのクローンにも個別に適用されます。
このように『コスチュームの名前』で条件分岐をさせれば、クローンごとに別々のメッセージを送るなど、特定のクローンだけに役割を持たせることが簡単にできます。
変数でID管理をしなくても、見た目でクリック判定を仕分けられるので便利です。
このスプライトが押されたとき
もし<(コスチュームの [名前 v]) = [クローン1(ここは任意の名前)]> なら
[動作 v]を送る
end
実は『このスプライトが押されたとき』のブロックは、すべてのクローンにも個別に適用されます。
このように『コスチュームの名前』で条件分岐をさせれば、クローンごとに別々のメッセージを送るなど、特定のクローンだけに役割を持たせることが簡単にできます。
変数でID管理をしなくても、見た目でクリック判定を仕分けられるので便利です。
Last edited by DANGOKYOUDAI (Jan. 8, 2026 11:28:37)
- odoruari
-
Scratcher
24 posts
意外と知られていないテクニック集
クローンを多用する作品で役立つテクニッククローン1というコスチュームを作らなければならないですか?このスプライトが押されたとき
もし<(コスチュームの [名前 v]) = [クローン1]> なら
[動作 v]を送る
end
実は『このスプライトが押されたとき』のブロックは、すべてのクローンにも個別に適用されます。
このように『コスチュームの名前』で条件分岐をさせれば、クローンごとに別々のメッセージを送るなど、特定のクローンだけに役割を持たせることが簡単にできます。
変数でID管理をしなくても、見た目でクリック判定を仕分けられるので便利です。
- y_haruka
-
Scratcher
13 posts
意外と知られていないテクニック集
(どれかの向き v)へ向けるは今無いので
([_ran]と [dom_])へ向けるにすると代用できます
ちなみに
([_ran]と[dom_])へ行くもできます
- onionn5
-
Scratcher
16 posts
意外と知られていないテクニック集
テクニック集にこれを乗せていいかわからないけど
when green flag clicked
foreverで滑らかに動くプログラムができる
if <key [右矢印 v] pressed?> then
change [a v] by (2)
end
if <key [左矢印 v] pressed?> then
change [a v] by (-2)
end
set [a v] to ((a) * (0.75))
set x to (a)
end
- aquamizu
-
Scratcher
7 posts
意外と知られていないテクニック集
when green flag clicked
pen down
forever
move (10) steps
turn cw (50) degrees
if on edge, bounce
end
これでもお絵描きできる
Last edited by aquamizu (Dec. 25, 2025 11:21:23)
- yakitori10-10
-
Scratcher
25 posts
意外と知られていないテクニック集
forever(Yも同様)
change x by ((<key [右矢印 v] pressed?> * (動きたい座標の数)) - (<key [左矢印 v] pressed?> * (動きたい座標の数)))
end
このようにすればそこそこ少ないブロック数で操作することができます。
全然滑らかじゃないけどね
- chutaro5978
-
Scratcher
100+ posts
意外と知られていないテクニック集
このようにすればそこそこ少ないブロック数で操作することができます。分配法則を使い、
全然滑らかじゃないけどね
(右矢印キーが押された一左矢印キーが押された)*(どれくらい動くか)
のようにすると、もう少し短縮できます。
ブロックを使って説明するのが難しいので、言葉で説明させていただきました。
- e1bfd762321e409cee4a
-
Scratcher
91 posts
意外と知られていないテクニック集
こうすると、ぬるっとできます。
@greenFlag が押された時::events hat
[X移動量 v]を[0]にする::variables
[Y移動量 v]を[0]にする::variables
[移動量 v]を[2]にする::variables
ずっと{
[X移動量 v]を((<(右向き矢印 v)キーが押された::sensing>-<(左向き矢印 v)キーが押された::sensing>::operators)*(移動量::variables))ずつ変える::variables
[Y移動量 v]を((<(上向き矢印 v)キーが押された::sensing>-<(下向き矢印 v)キーが押された::sensing>::operators)*(移動量::variables))ずつ変える::variables
x座標を(X移動量::variables)ずつ変える::move
y座標を(Y移動量::variables)ずつ変える::move
[X移動量 v]を((((X移動量::variables)*(9)::operators)の[切り下げ v]::operators)/[10]::operators)にする::variables
[Y移動量 v]を((((Y移動量::variables)*(9)::operators)の[切り下げ v]::operators)/[10]::operators)にする::variables
}::control cap loop
- itoitomaki
-
Scratcher
13 posts
意外と知られていないテクニック集
(<key [右矢印 v] pressed?> - <key [左矢印 v] pressed?>)
上のようなプログラムを組むと、求められる答えが
右矢印キーを押していれば1、
左矢印キーを押していれば-1、
右矢印キーも左矢印キーも押していれば0、
右矢印キーも左矢印キーも押していなくても0になります。
このプログラムはとても便利で、アクションゲームなどを作るときに使う
ブロック数を少なくすることができます。
このプログラムは、Scratchの「ブロックを数字で表すプログラム」が関係しています。
簡単に言えば、Scratchのプログラムは trueを1、falseを0 という数字に変換しているということです。
なので、上にあるプログラムは1と0の引き算で出来ているといえます。
- kyokyoro
-
Scratcher
100+ posts
意外と知られていないテクニック集
上記の仕様を利用したもので便利なのが↓です。好きな条件文をハットブロックにできます(確かfutonさんが見つけたものだったと記憶しています、元投稿は見つけられませんでした)
trueが返された時(タイマー - 1)となりハットブロックが発火します
型変換は色々と略記できたりと便利ですね
[タイマー v] > ((タイマー) - <条件式 ::grey>) のとき条件式がfalseを返す間は(タイマー - 0)となりタイマーの値と等しくなりますが
[条件式が満たされた] と言う
trueが返された時(タイマー - 1)となりハットブロックが発火します
型変換は色々と略記できたりと便利ですね
Last edited by kyokyoro (Dec. 29, 2025 10:50:24)