Discuss Scratch

Banakki1230
Scratcher
26 posts

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

「質問、確認、依頼」
失礼します。
Banakki1230です。今回はかなり長文ですが、ご回答よろしくおねがします。
注意:このコメントには、主に3つのコメントが含まれます。返答の際は、お手数ですが割り当てられた番号を振って回答ください。

①質問(回答済)
スクラッチの仕様に関する質問です。クローンしたスプライトは、「隠す」状態になっていても、層管理できるのでしょうか?
※層管理できるとは、「最前面に出す」や「◯層前に出す」といったものの影響を受けということです。(わかりづらくてすみません。

②確認(回答済)
私は現在このような作品を作成しています。私の作成している機材がタブレットのため、ラグを回避しスムーズに作成するため、turbowarpというサイトで軽量化して作業をしています。しかし、スクラッチに作品のデータを移行したところ、作品を実行中に途中でクラッシュしてしまいました。PCで作品を開くことができる方は、こちらの作品を実行していただけないでしょうか?
確認して欲しいことは一つだけです。

❶作品はRPGのようになっています。右上の方に行っても地形が乱れていないことを確認して欲しいです。※1
※1作品はジョイスティックでのみ移動できます。キーボードでは作動しませんので注意してください。(マウスをクリック&ドラッグすれば操作出来ます。)

③依頼(進行中…がんばります)
②の続きだとお考えください。確認してもらえればわかると思いますが、途中で地形の層管理がバグっているところがあります。(重なりが生じている。)

私が設定設定したプログラムでは、
❶地形のクローンが自身の座標を一つの数値にして「層入力」リストに挿入。
❷地形をソートするプログラムが地形を順番に並べ、「層出力」リストに移動。
❸地形のクローンが自身の登録した数値の場所番目に層を移動する。※2 …以上繰り返し

スクラッチに最近追加されたデバッグ書も参考にしつつ試行錯誤していたのですが、3日たってもどうしても解決しませんでした。
改善方法が欲しいです。

※2下記のようなブロックでそもそも層管理できるのかも知りたいところ。
go to [最背面 v] layer
go [前に出す v] (item # of (自分が登録した番号) in [層出力 v]) layers

以上3点です。かなり長文でしたが、ご回答よろしく願いします。

Last edited by Banakki1230 (April 6, 2025 07:20:19)

_0xfffrog-
Scratcher
100+ posts

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

#8401
1: scratch-vmのコードによると、可視かどうかはレイヤーの移動に影響を与えません。

2: 右上に何も異常はありません。ただし、この件のようにTurbowarpなどMODは正規のScratchと互換性がないことがあるため、それらのエディタで作成されたコードはアップロードしてはいけません。(ToU4.4)

*2 最背面に移動してからn層上げるという方法は基本的に層関係を乱すだけで使い物になりません。
Banakki1230
Scratcher
26 posts

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

#8401
ご回答ありがとうございます。
1.なるほど、ありがとうございます

2.わかりました、今後気をつけます。
因みに禁止されている理由はなぜですか?

*2なるほど…それはかなり痛いですね…。
この作品を作りにあたって、Penを絶対に使わないという強い意志を持って(?)取り組んでいるので、別の方法を模索します。

追記:実は以前にも似たような作品を作りかけて挫折をしたことがあり、今再トライをしているのですが、その時は奇跡的にレイヤー管理が上手く行っていたんですよね…
ただそれはかなり原始的な方法だったので、何かうまく出来ないかとずっと模索していたというわけです。

Last edited by Banakki1230 (April 6, 2025 07:14:34)

sei6sei
Scratcher
500+ posts

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

2に対して
#8402に引用元が書かれています。
Banakki1230
Scratcher
26 posts

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

@sei6sei
すみません文字か同化して見えていました、ありがとうございます。
Banakki1230
Scratcher
26 posts

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

3に関してです。
どうにかしてクローンを層管理する方法はないでしょうか?案でも構いません。

①最背面にしてからn層上げる。→バグる。原因は不明。スクラッチの仕様かも?
②毎時クローン。→重い。普通にクラッシュしてしまう
③ペン。→最終手段。できれば使いたくない。(諸事情あり)
④地形を移動するたびに調節。→柔軟性がない。(今後、たとえば敵キャラなどを追加する時バグってしまうことが目

クローンでやるのは諦めました。Penにします。ありがとうございました

Last edited by Banakki1230 (April 6, 2025 07:56:40)

hazimetakun
Scratcher
44 posts

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

質問です。
この作品で、敵は一体ずつ出現させたいのですが、一度やられてから再度プレイすると敵が3体一気に出てきてしまいます。自分でも考えてみたのですが、わからず質問することにしました。なぜ一気に出てきてしまうのでしょうか。またどうすることで改善できるのでしょうか。教えていただきたいです。
その状況にするための手順
① 旗を押す
② 真ん中にあるプレイボタンを押す(▶)
③ そのまま待つと敵(赤)が一体ずつ少し時間を空けて出てくる
④ 敵が自分(中央の黒丸)に当たるのを待つ
⑤ ゲームオーバーになる
⑥ 最初の画面になる
⑦ もう一度プレイボタンを押す
⑧ 敵が出てくるのを待つ
⑨ すると敵が3体一気に出てくる
⑩ 一回だけではなくその後も3体同時のタイミングで出てくる

ご回答いただけると嬉しいです
yuito2013
Scratcher
100+ posts

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

8406#クローン番号を使って
[clone v] を [1] にする//このスプライトのみ
[is clone? v] を [0] にする//このスプライトのみ
クローンするときは
[is clone? v] を [1] にする
[自分自身 v]のクローンを作る
[clone v] を (0) ずつ変える
[is clone? v] を [0] にする
クローンで層を変える時は
...::hat//何でもいいよ
もし <(is clone?) = [1]> なら
(([レイヤ v] の (clone) 番目 :: list) * (0.01))秒待つ//レイヤにはクローン番号に対応して表示(`s
[最前面 v] へ移動する
end

Last edited by yuito2013 (April 6, 2025 10:06:12)

Banakki1230
Scratcher
26 posts

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

yuito2013 wrote:

8406#クローン番号を使って
[clone v] を [1] にする//このスプライトのみ
[is clone? v] を [0] にする//このスプライトのみ
クローンするときは
[is clone? v] を [1] にする
[自分自身 v]のクローンを作る
[clone v] を (0) ずつ変える
[is clone? v] を [0] にする
クローンで層を変える時は
...::hat//何でもいいよ
もし <(is clone?) = [1]> なら
(([レイヤ v] の (clone) 番目 :: list) * (0.01))秒待つ//レイヤにはクローン番号に対応して表示(`s
[最前面 v] へ移動する
end
ありがとうございます。書き忘れていましたが、それも実はやってました…。すみません…
mi9g0n
Scratcher
1000+ posts

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

#8407について:
(違う方への回答ですが、その後で言われている回答も類似の狙いの回答みたいですね)
スプライト.「敵」の行動についてですが、ゲームオーバーとなり「ゲームオーバーを受け取ったとき」ブロック以下のスクリプトでは、スクリプトを止めているだけでそのときステージに存在するクローンは削除されずに依然として残っていますよね。
だからもう一回遊ぼうとしたとき「ゲームスタート2」を受け取るスプライトはクローンを含めて複数体のスプライトなわけです。
複数体のスプライトがそれぞれで同じスクリプトを実行しているため、想定の2倍や3倍の「敵」がやってくるということではないでしょうか。
 だからゲームオーバーの際にクローンをどうにか処理してやれば、すっきりした状態で再度ゲームスタートができると思います。
 
takaball1116
Scratcher
33 posts

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

質問です。
共有アカウントってなんでダメなんですか?自分も学校で係だったので使ってたらアカウントブロックされました。
hazimetakun
Scratcher
44 posts

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

#8410
回答ありがとうございます。
変数にゲームオーバーになったことを示すようにして、それぞれ個別のクローンがゲームオーバーになったときに自分で消すようにしてみたら治りました
inoking
Scratcher
1000+ posts

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

takaball1116 wrote:

共有アカウントってなんでダメなんですか?自分も学校で係だったので使ってたらアカウントブロックされました。
アカウントブロックされたということで分かりませんか?
分かるはずです。

なお、アカウントブロック中は
他のアカウントでも活動できません。
https://mitscratch.freshdesk.com/ja-JP/support/solutions/articles/4000158512

Last edited by inoking (April 7, 2025 06:30:27)

CPU-Nagi
Scratcher
77 posts

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

スクラッチでハックブロック(ブロックパレットには存在しないがコードを書き足すことで追加できる。なおこれらはスクラッチ上などでも動作する)を使用した作品は共有してはいけないのでしょうか?
参考程度にハックブロックには以下のものが存在します。
(() を四捨五入)
(カウンター)
カウンターに足す
カウンターをクリア
 <> の間繰り返す

end
追記
Your text to link here…

Last edited by CPU-Nagi (April 8, 2025 04:47:17)

VANILLA-0
Scratcher
13 posts

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

CPU-Nagi wrote:

スクラッチでハックブロック(ブロックパレットには存在しないがコードを書き足すことで追加できる。なおこれらはスクラッチ上などでも動作する)を使用した作品は共有してはいけないのでしょうか?
参考程度にハックブロックには以下のものが存在します。
(() の()桁目を四捨五入)
(カウンター)
カウンターに足す
カウンターをクリア
 <> の間繰り返す

end

現在の時点では、公式からの詳しい声明はありませんが、許可はされているようです。
そもそも機能するものが少ないのです

Last edited by VANILLA-0 (April 7, 2025 12:26:34)

sei6sei
Scratcher
500+ posts

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

それが「許可されている」とどこに書いてありますか
VANILLA-0
Scratcher
13 posts

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

sei6sei wrote:

それが「許可されている」とどこに書いてありますか

https://scratch.mit.edu/discuss/topic/766010/?page=1#post-8011382
です

一応、許可されている“よう”だとは書きましたからね

Last edited by VANILLA-0 (April 7, 2025 13:00:04)

inoking
Scratcher
1000+ posts

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

VANILLA-0 wrote:

sei6sei wrote:

それが「許可されている」とどこに書いてありますか

https://scratch.mit.edu/discuss/topic/766010/?page=1#post-8011382
です
そこにある Scratch チームのメンバーからの投稿はこれだけですが
それを含め「許可されている」と解釈できる記述は見つけられません。

一応、許可されている“よう”だとは書きましたからね
それは言い訳になりません。
述べているのは個人の意見ではなく、事実についての事柄です。
書くからには責任をもって書く必要があります。

Last edited by inoking (April 7, 2025 21:12:15)

VANILLA-0
Scratcher
13 posts

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

わかりました。次から正確なことを言えるようにいたします。
kaisuke9244
Scratcher
100+ posts

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

アカウント回避のアカウントを報告するときはどうしますか。また報告されたときはアカウントは消去されるのですか?

Powered by DjangoBB