Discuss Scratch

CPU-Nagi
Scratcher
100+ posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)

#12125
もしその相手の行動が不適切だと思った場合は報告ボタンを押してscratchチームに報告してください。不適切な物に反応しないでください。
典型文定期
haru2579
Scratcher
67 posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)

CPU-Nagi wrote:

#12125
もしその相手の行動が不適切だと思った場合は報告ボタンを押してscratchチームに報告してください。不適切な物に反応しないでください。
典型文定期

ありがとうございます。報告の方させていただきました。プロフィールのコメント欄まで乗り込んできて「部外者って決めつけないでください」と言われています。コメント以前の問題だと思うのですが、ユーザーを報告する機能はありますか?
CPU-Nagi
Scratcher
100+ posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)

#12127
コメント報告するだけで問題ないかと。。。
特殊な場合は「連絡先」からscratchチームに通報してください。
haru2579
Scratcher
67 posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)


#12128
本当にありがとうございます。助かります。
aalaalscratcher
Scratcher
500+ posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)

#12124
該当する絵を未完成でもいいので共有してみてください
ここでURLを公開していただければその絵を確認します
inoking
Scratcher
1000+ posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)

haru2579 wrote:

質問失礼致します。今回、名前は伏せるのですがある有名scratcherのコメント欄でフォロバ要求をし、喧嘩をしているscratcherがいました、僕はその方を指摘したところ、「部外者って決めつけんなw」的なことを言われました。(語彙力なくてすいません)どうすればいいでしょうか?
下線部がそもそもの間違いです。

このようなことになるから「不適切なものに反応するのではなく」となっています。
haru2579
Scratcher
67 posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)

#12131

わかりました。これからはすぐに報告するようにします。

Last edited by haru2579 (Feb. 3, 2026 23:35:46)

kurosio-ZP
Scratcher
100+ posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)

#12123
<<(ユーザー名) = [名前]> = <online?::sensing>>
がtrueになる原因としては、そもそもonline?は使用している端末がネットワークに接続されているかを検出するブロックなので、
WEB上でやってれば大体trueを返します。
また、ユーザー名=名前は、自分の名前が入っていればユーザー名と合致してtrueを返します。よって、
true=trueとなり、結果trueを返します。
また、自分のユーザー名でないかつ、online?がfalseを返した場合、無条件でtrueを返します。
間違っていたら訂正お願いします。

追記:よって、ユーザーが今いるかなどのオンラインを判断する機能はないと考えられます。
出典:オンライン_(ブロック)

Last edited by kurosio-ZP (Feb. 4, 2026 02:09:25)

tsubuanman
Scratcher
100+ posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)

#12124
すぐに確認ができる状況でないので、私の経験を基に答えます。

おかしい部分のポイントを「形を変える」で選択してみてください。
おそらく選択しているポイントが重複してるので、これを消せば確か不具合はなくなったと思います。

ベクターを触っていると時折こういうことが起こるんですよねえ、、。

Last edited by tsubuanman (Feb. 4, 2026 04:53:02)

402error
Scratcher
43 posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)

すみません…なぜ今まで作っていたプロジェクトのエディター画面でwebglレンダラーがバグり、何故か次のフレームへ更新されてない状態になります。どうしたらいいですか。
症状等↓
  • 次のフレームへ更新されてない(エディターのみ)ブロックは動作する

    ステージの下のやつが機能しない
    • エディター以外では動作する
      誰か問題点と解決策を教えてください。お願いします….
      (何かバグらせる文字とかあるのかな?まじでわからん)

Last edited by 402error (Feb. 7, 2026 01:05:04)

POP-COM
Scratcher
100+ posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)

質問です。テラリアのメカニカルワームのような、画面外(スクラッチだと端)からプレイヤーの向きを向いて徐々にスピードアップして突進するプログラムをどうしても組めません。なんとかクローンに変数などを使ってやろうとしたのですが、どうしても再現できませんでした。もし、動かしながらマウスのポインターに向きを向け続けて移動できるプログラムを知っている方がいれば、教えて欲しいです
5-4-ON
Scratcher
9 posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)

POP-COM wrote:

質問です。テラリアの……(略)
こんな感じですか?
(gccxnondx さんからの指摘を受けて、その作品に修正を入れました。)

Last edited by 5-4-ON (Feb. 4, 2026 10:58:18)

nakanakas0113
Scratcher
10 posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)

402error wrote:

すみません…なぜ今まで作っていたプロジェクトのエディター画面でwebglレンダラーがバグり、何故か次のフレームへ更新されてない状態になります。どうしたらいいですか。
症状等↓
  • 次のフレームへ更新されてない
    ブロックは動作する
    ステージの下のやつが機能しない
    エディター以外では動作する
誰か問題点と解決策を教えてください。お願いします….
(何かバグらせる文字とかあるのかな?まじでわからん)
問題のあるプロジェクトを共有してください。自分からも確認したいので。
自分から確認したところ問題ありません。

Last edited by nakanakas0113 (Feb. 4, 2026 11:36:28)

5-4-ON
Scratcher
9 posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)

(間違えたため削除

Last edited by 5-4-ON (Feb. 4, 2026 10:56:43)

haru2579
Scratcher
67 posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)

POP-COM wrote:

質問です。テラリアのメカニカルワームのような、画面外(スクラッチだと端)からプレイヤーの向きを向いて徐々にスピードアップして突進するプログラムをどうしても組めません。なんとかクローンに変数などを使ってやろうとしたのですが、どうしても再現できませんでした。もし、動かしながらマウスのポインターに向きを向け続けて移動できるプログラムを知っている方がいれば、教えて欲しいです



マウスの方向を向きながら突進する」動きを作るには、一気にマウスの方を向くのではなく、「今の向き」から「マウスの向き」へ、少しずつ角度を近づけるのがコツです。

1. 基本のアルゴリズム(スプライト本体・クローン共通)
以下のスクリプトを組むと、なめらかな旋回移動が実現できます。
作成する変数(このスプライトのみ):

スピード : 現在の移動速度
旋回速度 : どれくらい急に曲がれるか(5〜10くらいがおすすめ)
スクリプトの流れ:

ずっと:
「マウスの方へ向ける」を使い、目標の角度を確認する。
(ここが重要)今の向きと目標の向きの差を計算し、「旋回速度」の分だけ今の向きを変える。
「スピード」を少しずつ大きくする。
「(スピード)歩動かす」
2. 具体的なブロックの組み方
「演算」ブロックを使って、以下のように記述するとスムーズです。

向きを ( (向き) + ( ( (マウスの方向) - (向き) ) / 旋回速度 ) ) 度にする
※ これにより、目標角度に近づくほど回転が緩やかになり、自然な曲線を描きます。

もし「メカニカルワーム」のように、体が連なって動くようにしたい場合は、以下の2つの方法を提案します。

リストを使う方法: 頭の座標(x, y)を常にリストに保存し、クローン(体)が数フレーム前の座標を追いかける方法。

シンプル版: 体のクローンに「1つ前のクローン(または頭)に向かって、一定の距離を保つ」というプログラムを書く方法。

長文失礼しました。
pandakun7
Scratcher
100+ posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)

#12136
クローンがクローンを追いかける仕組みで作ってみました。
なんか、これじゃない気もしています。

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

Last edited by pandakun7 (Feb. 4, 2026 13:56:21)

POP-COM
Scratcher
100+ posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)

haru2579 wrote:

POP-COM wrote:

質問です。テラリアのメカニカルワームのような、画面外(スクラッチだと端)からプレイヤーの向きを向いて徐々にスピードアップして突進するプログラムをどうしても組めません。なんとかクローンに変数などを使ってやろうとしたのですが、どうしても再現できませんでした。もし、動かしながらマウスのポインターに向きを向け続けて移動できるプログラムを知っている方がいれば、教えて欲しいです



マウスの方向を向きながら突進する」動きを作るには、一気にマウスの方を向くのではなく、「今の向き」から「マウスの向き」へ、少しずつ角度を近づけるのがコツです。

1. 基本のアルゴリズム(スプライト本体・クローン共通)
以下のスクリプトを組むと、なめらかな旋回移動が実現できます。
作成する変数(このスプライトのみ):

スピード : 現在の移動速度
旋回速度 : どれくらい急に曲がれるか(5〜10くらいがおすすめ)
スクリプトの流れ:

ずっと:
「マウスの方へ向ける」を使い、目標の角度を確認する。
(ここが重要)今の向きと目標の向きの差を計算し、「旋回速度」の分だけ今の向きを変える。
「スピード」を少しずつ大きくする。
「(スピード)歩動かす」
2. 具体的なブロックの組み方
「演算」ブロックを使って、以下のように記述するとスムーズです。

向きを ( (向き) + ( ( (マウスの方向) - (向き) ) / 旋回速度 ) ) 度にする
※ これにより、目標角度に近づくほど回転が緩やかになり、自然な曲線を描きます。

もし「メカニカルワーム」のように、体が連なって動くようにしたい場合は、以下の2つの方法を提案します。

リストを使う方法: 頭の座標(x, y)を常にリストに保存し、クローン(体)が数フレーム前の座標を追いかける方法。

シンプル版: 体のクローンに「1つ前のクローン(または頭)に向かって、一定の距離を保つ」というプログラムを書く方法。

長文失礼しました。
#12137 #12140 #12141
確認いたしました!ありがとうございます
変数を使うのは頭にありましたがリスト変数は思いつかなかったです!定義化してみますね。
abee
Scratcher
1000+ posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)

リストを使わず、時差でクローンの生成と削除を行う方法もあります。
haru2579
Scratcher
67 posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)

POP-COM wrote:

質問です。テラリアのメカニカルワームのような、画面外(スクラッチだと端)からプレイヤーの向きを向いて徐々にスピードアップして突進するプログラムをどうしても組めません。なんとかクローンに変数などを使ってやろうとしたのですが、どうしても再現できませんでした。もし、動かしながらマウスのポインターに向きを向け続けて移動できるプログラムを知っている方がいれば、教えて欲しいです

abee wrote:

リストを使わず、時差でクローンの生成と削除を行う方法もあります。

その「時差でクローンを生成・削除する」というアイデア、いいですね!リストを使わないのであれば、「クローンの寿命」を変数で制御するのが一番スマートな再現方法だと思います。

具体的に、メカニカルワームっぽく見せるための設定のコツを整理しました。

1. クローン(体)側のプログラム

クローンには、それぞれ「何秒で消えるか」を覚えさせます。

クローンされたとき:

(体の長さ)秒待つ

このクローンを削除する

2. メカニカルワームらしく見せる調整のコツ

単に消えるだけだと「ただの線」に見えてしまうので、以下の工夫を加えると一気にクオリティが上がります。

節の間隔を保つ: 「自分自身のクローンを作る」の後に、少しだけ(0.1秒など)待つ時間を入れると、節と節の間に隙間ができてワームっぽくなります。

尻尾に向かって細くする: クローンの中で ((残り時間) * 〇〇) を使って、消える直前に向かって徐々に見た目を小さくしたり、透明度を上げたりすると、しっぽがシュッとしたリアルな見た目になります。

スピードとの連動: 頭が加速したときは、クローンの寿命(待つ秒数)を少し短くしてあげると、体が伸びきらずに自然な長さをキープできます。

注意点

この方法(時差消去)の場合、クローンがその場に止まってしまうので、もし「体も常にうねうね動かしたい」となったら、先ほどの旋回プログラムをクローン側にも少し弱めに適用してあげると良いですよ!

まずはこの「寿命方式」で、理想の長さになるか試してみてください!

長文失礼しました!

Last edited by haru2579 (Feb. 5, 2026 02:45:57)

haru2579
Scratcher
67 posts

質問コーナー7(利用する前に最初の投稿(#1)を確認してね)

POP-COM wrote:

あれから色々進みました。(まだ全て理解はできていませんが)おそらくこちらの方が軽いのでこのプログラムと組み合わせたいのですが、変数の変更、仕組みなどがよく理解できていません。

POP-COM wrote:

POP-COM wrote:

カードゲームを作りたいなと考えているのですが、1つのスプライトでカードの種類を分ける(よく他のスクラッチャーさんがやってるところを見ます)には、変数かリスト変数どちらの方がメリットがあるのでしょうか。複数のデータを整理するリスト変数は一見便利に見えるので、どうすればいいのか迷います。
https://scratch.mit.edu/projects/1267155914
テスト用プロジェクトです。(まだブロック並べただけですが…)
この質問の続きです。ロジックはおおいた理解できました。…のですが、制御のプログラムを一つにまとめた方が軽くなるのかどうかわからないので、教えて欲しいです。

結論から言うと、「制御のプログラム(ループなど)は、可能な限り一つ(または少数)にまとめた方が動作は軽くなり、バグも減りやすくなります。

なぜまとめた方が良いのか、その理由とメリットを整理して解説します。

1. なぜ「まとめる」と軽くなるのか

Scratchの裏側では、プログラムは「上から順番に」実行されています。

バラバラの場合: 「ずっと」ループが10個あると、Scratchは1回画面を更新するごとに「ループAの処理→ループBの処理→…ループJの処理」と10回分のチェックを繰り返します。これが増えると処理の待ち時間が発生し、カクつき(ラグ)の原因になります。

まとめた場合: 「ずっと」の中に条件分岐(もし〜なら)を並べて1つにまとめると、コンピュータがチェックする回数が最小限で済み、効率的に処理が進みます。

2. 「リスト」と「まとめた制御」の相性が良い理由

前回の質問で「リスト」を使うメリットに触れましたが、制御をまとめる際にもリストは非常に強力です。

例えば、100枚のカードを1枚ずつ個別に制御するのは大変ですが、リストに「1番目のカードは場にある」「2番目は手札にある」といったステータスを入れておけば、1つのループ(クローン側の共通処理)だけで、全てのカードの状態を一度に更新できるからです。

3. プログラムをまとめるメリット

実行順序が明確になる: バラバラのスクリプトだと「どのブロックが先に動くか」が予測しにくく、原因不明のバグが起きやすいです。1つにまとめると、上から順番に実行されるため、動作が安定します。

「クローン」の管理が楽: カードゲームでは1つのスプライトを大量にクローンしますが、クローンごとに重いループを持たせると、すぐに限界(300個制限)や動作の重さにぶつかります。親玉(本体)がリストを操作し、クローンはそれを見て動くだけ、という形にすると非常に軽くなります。

4. 具体的な構成案

おすすめは、以下のように役割を分ける構成です。

管理用スクリプト(1つ): リストの中身(HP、攻撃力、場所など)を計算して書き換える専用の場所。

表示用スクリプト(クローン共通): 「もし自分の番号のリストが『手札』なら、この座標へ移動する」という、見た目を変えるだけのシンプルな処理。

アドバイス:プロジェクトの整理

テストプロジェクトを見ましたが、まだブロックを並べた段階とのことですので、今のうちに**「このリストのn番目は、n番目のクローンの情報を表す」**というルールを決めておくと、後から制御を一本化するのが非常にスムーズになります。

まとめ: 「制御を一つにまとめる」のは、Scratchで本格的なゲーム(特にカードゲームのようなデータ量が多いもの)を作る上での「必勝法」に近いテクニックです。最初は少し難しく感じるかもしれませんが、後々「作ってよかった」と思えるはずですよ!応援しています。

※だいぶ前の質問を長文で返してしまいました。。。申し訳ございません。

Last edited by haru2579 (Feb. 5, 2026 03:32:45)

Powered by DjangoBB