Discuss Scratch
- minepra
-
Scratcher
27 posts
100%penについて話し合う所
ふむふむありがとうございます。すみませんもう出てるかと思いますが3角形の描画の仕方を教えて下さい。@nakakouTVさんの動画の中の資料にその話が書いてあるので、参考にしてみてください。やっぱり、文字より動画のほうがわかりやすいので。
内接円の半径、xy座標はもう求められました。
それでも、一応文字でも説明してみます。
内接円はつまり「ギリギリ三角形からはみ出さい図形」です。内接円を書いたときにできてしまうスキマも、「ギリギリ三角形からはみ出さい図形」で埋める必要があります。はみ出してしまったら使い物にならないからですね。
なので、「ギリギリ三角形からはみ出さい図形」をたくさん用意できないとダメなわけです。できれば「効率よくスキマを埋めれる図形」が良いですね。
そこで、「内接円を2倍小さくして、中心の座標を三角形の頂点それぞれに2倍近づけた三角形を書けば良いのではないか」というアイデアが出ます。イメージは#13の最初の図みたいな、です。
実際、これは成功します。しかも、これの「2倍」は何倍でも良いのです。すごく便利ですね。ここを何倍とするかは、資料の中では「拡大率」と名付けられています。
これを使って塗りつぶしを作りましょう。基本的に、この方式の塗りつぶしは基本、「拡大率」を変えた図形を重ねて表現されます。
ここで考えなければならないのが、「拡大率」をどのように変えて重ねていくか、ということです。拡大率が大きければ大きいほど塗れる範囲は狭くなっていくので、大きく取ればいいというものではありません。
もっとも簡単なのは、拡大率を2倍2倍にしていく、という方法です。1倍→2倍→4倍→8倍→16倍→…といったふうに。この方式を使えばどんな三角形でも塗りつぶせるはずです。
資料の中では、一番塗りつぶし効率が高くなる「拡大率」にしながらやっています。こっちのほうがよっぽど高速で、クールです。
サンプル作品を作ってみました。できれば、「丸写し」でなくて「参考」にしてやってみてくださいね。
中心の座標を三角形の頂点それぞれに2倍近づけた座標はどのように計算すればよいのでしょうか?
追記自分でわかりましたこの先penguinmod
Last edited by minepra (Aug. 3, 2025 05:44:28)
- m1m1syatyou792
-
Scratcher
18 posts
100%penについて話し合う所
when green flag clicked
pen down
point in direction (45)
forever
move (10) steps
if on edge, bounce
end
これを派生させてつくってみました
宣伝だと思いましたら消してもらって構いません
これをふんでね
Last edited by m1m1syatyou792 (Aug. 13, 2025 02:45:07)
- tuneninemuihito
-
Scratcher
73 posts
100%penについて話し合う所
penで3角形の塗りつぶしの方法を探しているのですがどなたかわかりますか?3角形の中心を求めたいのですがよくわからないです遅くなりましたが簡素にしたいのならこちらが良いと思います。
https://scratch.mit.edu/projects/1206024779
- MHSMA
-
Scratcher
9 posts
100%penについて話し合う所
https://scratch.mit.edu/projects/1231084889/
旗を押せばわかるのですが、すごく目がちかちかします。どうにかならないですか?
旗を押せばわかるのですが、すごく目がちかちかします。どうにかならないですか?
- Poteto143
-
Scratcher
1000+ posts
100%penについて話し合う所
https://scratch.mit.edu/projects/1231084889/作品をみました。
旗を押せばわかるのですが、すごく目がちかちかします。どうにかならないですか?
その「目のちかちか」についてですが、ます目を引くときに、座標を1だけずらしてからもう1本の線を引くようにすると、ちかちかがおさまるように見えました。
ただ、このやり方だと線がどうしても太くなってしまうのと、動きがなんだかぎこちなく見えるようになりますね…
- Ke0
-
Scratcher
1000+ posts
100%penについて話し合う所
#567
おそらくですが、線の細さを一定に定めても、表示に多少の(ピクセル単位の)「ゆらぎ」があるからかなと思っています。
相対的に小さくもなりますが、大きく見える場合はチカチカするように感じるのだと思います。
プロジェクトのコメント欄や#566と一部重複しますが、「チカチカ」が起こるのは「線の幅が1」で「進む速度が1」の場合限定(あるいは顕著)のようなので、このどちらかを変更すれば改善されそうですね。(ペンではなくコスチューム等々で代替しても上記の条件に当てはまってしまうと変わりませんでした)
単に目への刺激を少なくしたいのであれば、真っ黒ではなくグレーの枠線にするというのもアリです。
おそらくですが、線の細さを一定に定めても、表示に多少の(ピクセル単位の)「ゆらぎ」があるからかなと思っています。
相対的に小さくもなりますが、大きく見える場合はチカチカするように感じるのだと思います。
プロジェクトのコメント欄や#566と一部重複しますが、「チカチカ」が起こるのは「線の幅が1」で「進む速度が1」の場合限定(あるいは顕著)のようなので、このどちらかを変更すれば改善されそうですね。(ペンではなくコスチューム等々で代替しても上記の条件に当てはまってしまうと変わりませんでした)
単に目への刺激を少なくしたいのであれば、真っ黒ではなくグレーの枠線にするというのもアリです。
Last edited by Ke0 (Oct. 20, 2025 17:08:54)
- oligami
-
Scratcher
100+ posts
100%penについて話し合う所
#567
そういえばアンチエイリアシングなくなりましたもんね。一応全ての座標を+0.5とかにすればかなり軽減はされます(太くなりますけど)
https://scratch.mit.edu/projects/1231084889/
旗を押せばわかるのですが、すごく目がちかちかします。どうにかならないですか?
そういえばアンチエイリアシングなくなりましたもんね。一応全ての座標を+0.5とかにすればかなり軽減はされます(太くなりますけど)
- anki1003
-
Scratcher
40 posts
100%penについて話し合う所
スタンプこれを使ったものは100%penといいますか?
Last edited by anki1003 (Feb. 9, 2026 09:23:30)
- kouryou118103
-
Scratcher
1000+ posts
100%penについて話し合う所
#1にあるとおりです。
よくある質問個人的にはスタンプを使うといろいろ簡単になっちゃうので使わないほうが楽しいかなと。まぁルールとかじゃないので好きなようにするのがいいと思います。
Q. どのような作品が100%penになるのですか?
A. 100%penについての具体的な決まりはありません。そのため、作者が100%penだと思うのであれば100%penを名乗ることができます。
- rollinghuman
-
Scratcher
1 post
100%penについて話し合う所
初投稿です。
スクラッチでころころの譜面を作っているものですが、ここで@s00384206さんが作られた3dボールころころの話題はここで出ていますか?
スクラッチでころころの譜面を作っているものですが、ここで@s00384206さんが作られた3dボールころころの話題はここで出ていますか?
- _DRgames_
-
Scratcher
2 posts
100%penについて話し合う所
https://scratch.mit.edu/projects/1285886813/
上にどんどん登っていくようなゲームを作りたいのですが、ジャンプがうまくできません。ブロック定義にジャンプのプログラムを組み込むことってできますかね?
上にどんどん登っていくようなゲームを作りたいのですが、ジャンプがうまくできません。ブロック定義にジャンプのプログラムを組み込むことってできますかね?
- tuneninemuihito
-
Scratcher
73 posts
100%penについて話し合う所
#576
スクリプトを見てみましたが、ジャンプを正しく動くようにしたいのであれば、ブロック定義にスクリプトを入れるより、現在のスクリプトを修正する方が良さそうです。
まず、現在のスクリプトでは、正しく各種状態を判定,変更出来ていません。
課題としては、・着地している足場があっても、着地していない足場の判定ですぐに変数“a”が0に戻されてしまう。があります。
・全ての足場に対して処理を行っているので時間がかかりすぎてしまっている。
・足場の中心位置からの距離を使用しているので、当たり判定が実質半径41の円形になってしまっている。
・足場に触れたらy加速度を0にしているので下から上に行けない。
1つ目について、
これは、ブロック定義“足場判定”内において、の変数“a”の処理を修正する事で対処出来ます。
具体的には、“1つ以上の足場に触れている(着地している)か”を調べるために
・一時変数を1つ追加で作成し(ここでは一旦“b”とします)、
・“足場判定”の最初に{“b”を(0)にする}を、{もし~なら}の真側に{“b”を(1)にする}を入れ(偽側は空で良いです)、
・“足場判定”の最後(繰り返しの後)に、{“a”を(b)にする}を入れる。
事で実装できます。
次に2つ目について、
これは、“足場判定”の定義編集より、“画面を再描画せずに実行する”にチェックを入れてある程度対処出来ます。
但し、足場の数(1000近く)だけ処理を実行するので、重くなるようであったら変数“Py”とリスト“足場y”を比較してある程度絞っても良いかもしれません。
次に3つ目について、
これは、足場の処理方法を中心距離では無くxとyの値域で処理する事で実装できます。
“足場判定”内の、{もし~なら}の条件部分を、
{ {“足場x”の(n)番目-25<Px}かつ{Px<“足場x”の(n)番目+25} } かつ { {“足場y”の(n)番目-13<Py}かつ{Py<“足場x”の(n)番目+13} }
である程度処理できます。
(25は足場の中心からのx幅、13はプレイヤーの中心からのy幅です。)
最後に4つ目について、
これは、“y加速度”を0にするタイミングを下降中のみにすればいいので、スクリプトエリア下側の“y加速度”関連のスクリプトの、
{a=1}を、{ {a=1}かつ{y加速度<0} }にする事で実装できます。
長々とした文章ですみません。修正点があったら教えてくださると幸いです。
- _DRgames_
-
Scratcher
2 posts
100%penについて話し合う所
#576
スクリプトを見てみましたが、ジャンプを正しく動くようにしたいのであれば、ブロック定義にスクリプトを入れるより、現在のスクリプトを修正する方が良さそうです。まず、現在のスクリプトでは、正しく各種状態を判定,変更出来ていません。
課題としては、・着地している足場があっても、着地していない足場の判定ですぐに変数“a”が0に戻されてしまう。があります。
・全ての足場に対して処理を行っているので時間がかかりすぎてしまっている。
・足場の中心位置からの距離を使用しているので、当たり判定が実質半径41の円形になってしまっている。
・足場に触れたらy加速度を0にしているので下から上に行けない。1つ目について、
これは、ブロック定義“足場判定”内において、の変数“a”の処理を修正する事で対処出来ます。
具体的には、“1つ以上の足場に触れている(着地している)か”を調べるために
・一時変数を1つ追加で作成し(ここでは一旦“b”とします)、
・“足場判定”の最初に{“b”を(0)にする}を、{もし~なら}の真側に{“b”を(1)にする}を入れ(偽側は空で良いです)、
・“足場判定”の最後(繰り返しの後)に、{“a”を(b)にする}を入れる。
事で実装できます。次に2つ目について、
これは、“足場判定”の定義編集より、“画面を再描画せずに実行する”にチェックを入れてある程度対処出来ます。
但し、足場の数(1000近く)だけ処理を実行するので、重くなるようであったら変数“Py”とリスト“足場y”を比較してある程度絞っても良いかもしれません。次に3つ目について、
これは、足場の処理方法を中心距離では無くxとyの値域で処理する事で実装できます。
“足場判定”内の、{もし~なら}の条件部分を、
{ {“足場x”の(n)番目-25<Px}かつ{Px<“足場x”の(n)番目+25} } かつ { {“足場y”の(n)番目-13<Py}かつ{Py<“足場x”の(n)番目+13} }
である程度処理できます。
(25は足場の中心からのx幅、13はプレイヤーの中心からのy幅です。)最後に4つ目について、
これは、“y加速度”を0にするタイミングを下降中のみにすればいいので、スクリプトエリア下側の“y加速度”関連のスクリプトの、
{a=1}を、{ {a=1}かつ{y加速度<0} }にする事で実装できます。
長々とした文章ですみません。修正点があったら教えてくださると幸いです。
解決しました!ありがとうございます!
- eakonn705
-
Scratcher
17 posts
100%penについて話し合う所
画像を描く際、四分木描画とRLE圧縮形式での描画、どちらのほうが早いと思いますか。次の4つの画像で分けて回答を教えてください。①(480x360) 白黒 ②〃カラー(30色くらい) ③ (240x180) 低解像度 白黒 ④ 〃カラー
- yuu214
-
Scratcher
4 posts
100%penについて話し合う所
https://scratch.mit.edu/projects/1285869827/
100%PENの3d移動シュミレーター
前後左右上下の位置移動、上下左右の視点回転の10個を自在に操れる3D空間です
0キーを押して、スペースキーを押すとアルファベットや記号を立体空間に浮かび上がらせることができます
開始と終了の地点を入力して任意の線を3D空間に作り出せます
面白いのでぜひ見てみてください!
100%PENの3d移動シュミレーター
前後左右上下の位置移動、上下左右の視点回転の10個を自在に操れる3D空間です
0キーを押して、スペースキーを押すとアルファベットや記号を立体空間に浮かび上がらせることができます
開始と終了の地点を入力して任意の線を3D空間に作り出せます
面白いのでぜひ見てみてください!
