Discuss Scratch

Poteto143
Scratcher
1000+ posts

100%penについて話し合う所

本トピックはScrachに存在するテクニックの一つ、「100%pen」を扱うトピックです。

―――――そもそも100%penってなに?―――――

100%penとは、ステージに表示する全ての物をペンを使って描画するテクニックのことです。
スプライトのコスチュームそのもの、リスト、変数などを表示させてはいけないなどのローカルルールが存在します。
また、大部分をペンで描写しながら一部に変数などを表示させている作品は、99%penなど割合を減らした形で呼ばれることがあります。

―――――どうやって作るの?―――――

100%penを作るには、「画面を再描写せずに実行する」を有効にした定義ブロックや、繰り返しブロック、多くの変数やリスト、計算(演算)ブロックを活用する必要があります。
詳しくは、こちらを参照してください。

―――――本トピックを利用する上でのお願い―――――
  • 本トピックはあくまでも、100%penの作品の制作に取り組む方や、それに関して困っている方への手助けを目的としています。それ以外の話題に関しては、用途に合ったトピックをご利用下さい。
  • 100%pen以外の作品についての質問は質問コーナー5を利用してください。

よくある質問
Q. どのような作品が100%penになるのですか?
A. 100%penについての具体的な決まりはありません。そのため、作者が100%penだと思うのであれば100%penを名乗ることができます。

Last edited by Poteto143 (Sept. 24, 2022 04:02:14)


6周年になりました。ありがとうございます
apple502j
Scratcher
1000+ posts

100%penについて話し合う所

お、いいですね!

100%penでゲームを作ると、当たり判定が面倒ですね
三角形との当たりとか作れる人いるかな。

署名は、ディスカッションフォーラムの機能である。署名は、その人のすべての投稿の下部に追加される。署名は、BBCodeで記述できる。 署名を追加/変更/削除したい場合は、ディスカッションフォーラムのホームの一番下に行き、「Change your signature」を押す。署名の大きさは150pxまでである。これには、改行、画像を含む。- Japanese Scratch-Wiki 「署名
YY04
Scratcher
100+ posts

100%penについて話し合う所

まず、100%Penで、動かせるオブジェクトの作り方がわからない…

受験勉強中のため、活動休止(減少)しています。…といいつつ実はたまに作品上げてたりする。
要件はこちらに。

<おすすめプロジェクトランキング>
1.Minecraft実況 ~全実績解除を目指して~ 再生リスト ←参照数増加中!!
2.仮想世界地図主力事業
3.デジタル時計自信作

Poteto143
Scratcher
1000+ posts

100%penについて話し合う所

YY04 wrote:

まず、100%Penで、動かせるオブジェクトの作り方がわからない…
まず、ペンそのものでは動く物体を作る事は無理です。
そこで、物体を消しては動かして書く、消しては動かして書くをして物体が動いているように見せます。
物体を置き直して撮るのを繰り返す、ストップモーションのようなイメージです。
例えばペンで出来た物体を横に動かしたいときは
@Greenflag がクリックされたとき
x座標を (-200) 、y座標を (0) にする//座標の初期化
ペンの太さを (30) にする//ペンの初期化
(50) 回繰り返す
消す//処理の始めにペンの線を全部消す(紙に描かれた絵を全部消すイメージ)
ペンを下ろす//丸(点?)を描く
ペンを上げる
x座標を (8) ずつ変える//座標を変える
end
のようにします。

6周年になりました。ありがとうございます
YY04
Scratcher
100+ posts

100%penについて話し合う所

なるほど。
でもそのプログラムでいうと、当たり判定をどうやってつけるんですか?
座標で管理するのが難しそうな気がするのですが。

受験勉強中のため、活動休止(減少)しています。…といいつつ実はたまに作品上げてたりする。
要件はこちらに。

<おすすめプロジェクトランキング>
1.Minecraft実況 ~全実績解除を目指して~ 再生リスト ←参照数増加中!!
2.仮想世界地図主力事業
3.デジタル時計自信作

Poteto143
Scratcher
1000+ posts

100%penについて話し合う所

丸の当たり判定を作るには三平方の定理(ピタゴラスの定理とも)を使います。
三平方の定理とは、直角三角形の底辺の長さの二乗と高さの二乗は斜辺の長さの二乗に等しいという物です。
これを利用すると、任意の座標から座標までの距離を求めることが出来ます。
出かけるのでまた後で追記します

6周年になりました。ありがとうございます
Poteto143
Scratcher
1000+ posts

100%penについて話し合う所

上の続きです。
三平方の定理を使って丸とマウスポインターの当たり判定を作りたい場合、以下の様にします。
<[25] > (((((x座標) - (マウスのx座標)) * ((x座標) - (マウスのx座標))) + (((y座標) - (マウスのy座標)) * ((y座標) - (マウスのy座標))))の[平方根 v]::operators)>
左の数値には円の半径を入れます。

こちらのプロジェクトも参考になるかもしれません。三平方の定理を使ってマウスへの距離を求める

6周年になりました。ありがとうございます
YY04
Scratcher
100+ posts

100%penについて話し合う所

おお!ありがとうございます!
やってみます。

受験勉強中のため、活動休止(減少)しています。…といいつつ実はたまに作品上げてたりする。
要件はこちらに。

<おすすめプロジェクトランキング>
1.Minecraft実況 ~全実績解除を目指して~ 再生リスト ←参照数増加中!!
2.仮想世界地図主力事業
3.デジタル時計自信作

Poteto143
Scratcher
1000+ posts

100%penについて話し合う所

言い忘れましたが、一番右には「平方根」が隠れています!!
お忘れのないように。

6周年になりました。ありがとうございます
ARATAKU
Scratcher
500+ posts

100%penについて話し合う所

penが使えれば、scratchで出来ないことは基本的にないのではないかと思ってますがそれはさておき、


今、とにかく多角形の塗りつぶしプログラムが作りたいのですが、うまい方法が思いつきません。
scratchで素早く多角形を塗り潰す方法を知ってる人いますか?

つかれた。もう聞き飽きたよ
YY04
Scratcher
100+ posts

100%penについて話し合う所

僕の作った作品が参考になるかも。
https://scratch.mit.edu/projects/330630300

受験勉強中のため、活動休止(減少)しています。…といいつつ実はたまに作品上げてたりする。
要件はこちらに。

<おすすめプロジェクトランキング>
1.Minecraft実況 ~全実績解除を目指して~ 再生リスト ←参照数増加中!!
2.仮想世界地図主力事業
3.デジタル時計自信作

ZeroX_Game
Scratcher
100+ posts

100%penについて話し合う所

apple502j wrote:

お、いいですね!

100%penでゲームを作ると、当たり判定が面倒ですね
三角形との当たりとか作れる人いるかな。
作ったことあるよー。
三角形の全部の角から見た時に、それぞれの角の内側にあれば中にあるからっていうやつ。

https://scratch.mit.edu/projects/146052708/

気長にまとう
1年とか10年とか
watashida
Scratcher
500+ posts

100%penについて話し合う所

ARATAKU wrote:

今、とにかく多角形の塗りつぶしプログラムが作りたいのですが、うまい方法が思いつきません。
scratchで素早く多角形を塗り潰す方法を知ってる人いますか?

三角形は上のように内心を使うのが一番高速ですね

正凸多角形だとある点から時計回りに分割するのが簡単です。

でもこの方法だと凹んでいる図形だと失敗することがあるので

角度が最大の頂点から一番近い隣接していない頂点に辺をひいて再帰的に分割するのが簡単だと思います。
これでも失敗するやばい図形もありますが

Last edited by watashida (Sept. 30, 2019 10:42:47)


機械学習たーのしー!わーい!
ARATAKU
Scratcher
500+ posts

100%penについて話し合う所

ありがとうございます!

チョウチョ型の四角形までカバーできる物があるといいんですが・・・。

Last edited by ARATAKU (Sept. 30, 2019 11:15:39)


つかれた。もう聞き飽きたよ
watashida
Scratcher
500+ posts

100%penについて話し合う所

スキャンライン法だとちょうちょ型もできますが、そこまで高速じゃないですね…
交点を出してごり押しをするって手もあります

Last edited by watashida (Sept. 30, 2019 11:28:36)


機械学習たーのしー!わーい!
Poteto143
Scratcher
1000+ posts

100%penについて話し合う所

Ageも兼ねて投稿します
100%penのプロジェクトを作っている方に2つ質問があります。

1.
ずっと
表示する
もし <[#62d09f] 色に触れた> なら
...
end
隠す
end
のようなスクリプトは100%penでは認められると思いますか?

2.一部のPTEでは文字列の判定にコスチュームを使いますが、そのようなPTEは100%penで使ってもいいと思いますか?

記事などの説明を元にするのではなく、あなたの独断で回答をお願いします。

6周年になりました。ありがとうございます
Poteto143
Scratcher
1000+ posts

100%penについて話し合う所

ちなみに、僕は
1.あのようなプログラムでは一瞬でもスプライトが表示されることはないので良い
2.コスチュームの変更によって画面の表示に影響が出るわけではないので良い
という考えです。

6周年になりました。ありがとうございます
daidaidai1
Scratcher
1000+ posts

100%penについて話し合う所

「100%Pen」に厳密な定義があるわけではないので、あなたがそうしたいなら100%Penだと言って大丈夫だと思います。

私が100%Penのプロジェクトを作るときは、スプライトによる当たり判定は行わないようにしています。PTEに関しては、コスチュームを使ったPTEを含んだプロジェクトでも100%Penと名乗ってきました。

最近3Dにはまってます。




ZeroX_Game
Scratcher
100+ posts

100%penについて話し合う所

wiki曰く、スプライトを表示してはいけないので、色に触れた判定が使えないので、日本人に対しては100%ペンを名乗れません。が、外国の人たち的にはおっけーみたいです。

気長にまとう
1年とか10年とか
matunyan0930
Scratcher
500+ posts

100%penについて話し合う所

ZeroX_Game wrote:

wiki曰く、スプライトを表示してはいけないので、色に触れた判定が使えないので、日本人に対しては100%ペンを名乗れません。が、外国の人たち的にはおっけーみたいです。
外国人の100%ペンの定義は「画面上に描画されるものが全てペン」
日本人の100%ペンの定義は「画面上で使用されるものが全てペン」
ってことです?

世界開拓  Arsenal Knights

活動はほぼ止まっていますが通知の確認くらいなら時々してます 連絡などあればお気軽にプロフィールにどうぞ

Powered by DjangoBB