Discuss Scratch

KAMESAN123
Scratcher
100+ posts

質問コーナー

_ryosuke_ wrote:

KAMESAN123 wrote:

Arduino UnoとScratchを連携させる最も簡単な方法を教えてください。
ArduinoをScratchでプログラミングする場合はmBlockを使うといいですよ。
http://www.mblock.cc/download/
mBlockはmbotとscratchをつなげるツールだと思うのですが、Arduino Unoにも対応していますか。
masa2004
Scratcher
1000+ posts

質問コーナー

tymgtm wrote:

スクラッチwikiのエイプリルフールとは何ですか?
エイプリルフールネタが書いてあるネタ記事です。
fumimichi
Scratcher
80 posts

質問コーナー

質問です。

今私は今アクションゲームを作っています。

地面の色は地下が茶色、地面が黄緑で作っています。

ステージ2で段差をつけたのですが、その段差をすり抜けてしまいます。

どうすればいいですか?一応自分で考えました。

プログラムは↓

⚑ がクリックされたとき
ずっと
もし <[#8B4513] 色に触れた> なら
y座標を (1) ずつ変える
y座標を (-1) ずつ変える

end
end

って感じです。
mi9g0n
Scratcher
1000+ posts

質問コーナー

fumimichi wrote:

質問です。

今私は今アクションゲームを作っています。

地面の色は地下が茶色、地面が黄緑で作っています。

ステージ2で段差をつけたのですが、その段差をすり抜けてしまいます。

どうすればいいですか?一応自分で考えました。

プログラムは↓

⚑ がクリックされたとき
ずっと
もし <[#8B4513] 色に触れた> なら
y座標を (1) ずつ変える
y座標を (-1) ずつ変える

end
end

って感じです。
これが自分のキャラのスプライトの中に含まれたブロックだと仮定して言えば、茶色に触れたときにちょっとだけ上に移動して、その後すぐに同じだけ下に移動するから結局上にも下にも移動はしていないです。
つまり、このスクリプトは、あっても無くても自キャラの動きには影響を与えていないです。
右方向にたとえば5ずつ進んでいくとき、段差で茶色の壁があって、そこにめり込んで進み続けることの無いようにするのであれば、
x座標を (-5) ずつ変える
とかでどうでしょうか?
Nao_kun
Scratcher
500+ posts

質問コーナー

ターボモードを禁止、または実質使えないようにすることは可能ですか?私の作品はアクションゲームが多く、ターボモードにすると同じ難易度で遊べない上に、その記録が世界記録になる可能性があるからです。また、アクションに限らずターボモードを使えなくしたいです。
というか話が変わりますが、ターボモードはなぜありますか?
apple502j
Scratcher
1000+ posts

質問コーナー

Nao_kun wrote:

ターボモードを禁止、または実質使えないようにすることは可能ですか?私の作品はアクションゲームが多く、ターボモードにすると同じ難易度で遊べない上に、その記録が世界記録になる可能性があるからです。また、アクションに限らずターボモードを使えなくしたいです。
というか話が変わりますが、ターボモードはなぜありますか?
ターボモードは、計算などのプログラムで処理を早くするためのもので、Scratch 1.x時代からありました。
ターボモード禁止は現状できませんが、検出はできるので、「ターボが行われた場合、☁ 変数を受け付けない」などはどうでしょう。
inoking
Scratcher
1000+ posts

質問コーナー

apple502j wrote:

ターボモードは、計算などのプログラムで処理を早くするためのもので、Scratch 1.x時代からありました。
ターボモード禁止は現状できませんが、検出はできるので、「ターボが行われた場合、☁ 変数を受け付けない」などはどうでしょう。
便乗質問ですみません、
ターボモードかどうかはどうやって検出するのですか?
apple502j
Scratcher
1000+ posts

質問コーナー

inoking wrote:

apple502j wrote:

ターボモードは、計算などのプログラムで処理を早くするためのもので、Scratch 1.x時代からありました。
ターボモード禁止は現状できませんが、検出はできるので、「ターボが行われた場合、☁ 変数を受け付けない」などはどうでしょう。
便乗質問ですみません、
ターボモードかどうかはどうやって検出するのですか?
https://scratch.mit.edu/projects/117006059/
などのように、動作時間で判定するのが一般的です。
ずっと
タイマーをリセット
end
などをしないかぎり動作するはずです。
fumimichi
Scratcher
80 posts

質問コーナー

mi9g0n wrote:

fumimichi wrote:

質問です。

今私は今アクションゲームを作っています。

地面の色は地下が茶色、地面が黄緑で作っています。

ステージ2で段差をつけたのですが、その段差をすり抜けてしまいます。

どうすればいいですか?一応自分で考えました。

プログラムは↓

⚑ がクリックされたとき
ずっと
もし <[#8B4513] 色に触れた> なら
y座標を (1) ずつ変える
y座標を (-1) ずつ変える

end
end

って感じです。
これが自分のキャラのスプライトの中に含まれたブロックだと仮定して言えば、茶色に触れたときにちょっとだけ上に移動して、その後すぐに同じだけ下に移動するから結局上にも下にも移動はしていないです。
つまり、このスクリプトは、あっても無くても自キャラの動きには影響を与えていないです。
右方向にたとえば5ずつ進んでいくとき、段差で茶色の壁があって、そこにめり込んで進み続けることの無いようにするのであれば、
x座標を (-5) ずつ変える
とかでどうでしょうか?
ありがとうございます。
_ryosuke_
Scratcher
89 posts

質問コーナー

KAMESAN123 wrote:

_ryosuke_ wrote:

KAMESAN123 wrote:

Arduino UnoとScratchを連携させる最も簡単な方法を教えてください。
ArduinoをScratchでプログラミングする場合はmBlockを使うといいですよ。
http://www.mblock.cc/download/
mBlockはmbotとscratchをつなげるツールだと思うのですが、Arduino Unoにも対応していますか。
返信遅れてすみません!Arduinoなら対応していると思います。
inoking
Scratcher
1000+ posts

質問コーナー

apple502j wrote:

inoking wrote:

apple502j wrote:

ターボモードは、計算などのプログラムで処理を早くするためのもので、Scratch 1.x時代からありました。
ターボモード禁止は現状できませんが、検出はできるので、「ターボが行われた場合、☁ 変数を受け付けない」などはどうでしょう。
便乗質問ですみません、
ターボモードかどうかはどうやって検出するのですか?
https://scratch.mit.edu/projects/117006059/
などのように、動作時間で判定するのが一般的です。
ずっと
タイマーをリセット
end
などをしないかぎり動作するはずです。
回答ありがとうございます。

気になったのでソースも確認しました。

通常、描画込みのループは1秒間に最大30回しか実行されません(つまり30回の繰り返しなら約1秒かかる)が
ターボモードではこの制限が解除されるので
描画込みのループの処理時間を計ればターボモードかどうかが判別できるというわけですね。

src/interpreter/Interpreter.as:
public function redraw():void { if (!turboMode) doRedraw = true }
...
public function stepThreads():void {
	...
	var workTime:int = (0.75 * 1000) / app.stage.frameRate; // work for up to 75% of one frame time
	...
	while ((currentMSecs - startTime) < workTime) {
		...
		if (doRedraw || (runnableCount == 0)) return;
	}
}
yumikorin
Scratcher
500+ posts

質問コーナー

①ありきたりな質問かもしれませんが、トピックの作成数の制限ってあるんですか?

②あと、私がつくっているあにめーしょんのトピック(ちょっとした合作っぽいもの)をつくりたいと思っているのですが、
 そのようなものって、スタジオでやったほうが良いのでしょうか?
よろしくおねがいします。
Nao_kun
Scratcher
500+ posts

質問コーナー

質問です。セーブ機能を制作するとき、一度やめても再開できるようにするには、番号をセーブの時にコピーしてもらって再開するときにペーストする方法以外にもっとやる人側が簡単なものは何があるのでしょうか?
fine316
Scratcher
1000+ posts

質問コーナー

Nao_kun wrote:

質問です。セーブ機能を制作するとき、一度やめても再開できるようにするには、番号をセーブの時にコピーしてもらって再開するときにペーストする方法以外にもっとやる人側が簡単なものは何があるのでしょうか?
クラウドリストを使うという手もあります。
Nao_kun
Scratcher
500+ posts

質問コーナー

fine316 wrote:

Nao_kun wrote:

質問です。セーブ機能を制作するとき、一度やめても再開できるようにするには、番号をセーブの時にコピーしてもらって再開するときにペーストする方法以外にもっとやる人側が簡単なものは何があるのでしょうか?
クラウドリストを使うという手もあります。
前からの質問です。クラウドリストとは何でしょうか?見当たりません。

Last edited by Nao_kun (Oct. 29, 2017 09:20:12)

fine316
Scratcher
1000+ posts

質問コーナー

Nao_kun wrote:

fine316 wrote:

Nao_kun wrote:

質問です。セーブ機能を制作するとき、一度やめても再開できるようにするには、番号をセーブの時にコピーしてもらって再開するときにペーストする方法以外にもっとやる人側が簡単なものは何があるのでしょうか?
クラウドリストを使うという手もあります。
前からの質問です。クラウドリストとは何でしょうか?見当たりません。
クラウド変数には数値しか入れられませんが、リストを数値化することでクラウド変数にリストを保存することができます。
作り方としては、リスト⇔文字列⇔数値の相互変換ができればいけます。
作り方が分からなければ、ほかの人から借りることもできます。(僕も作っています(宣伝))
仕組みとしては、 a…01 , b…02 , c…03 のように文字と数値を対応させて変換します。
詳しくはja:クラウドリストを参照。
ikemennhamusuta-
Scratcher
38 posts

質問コーナー

プロジェクトのサムネイル動かす方法を
日本語で
教えて下さい!
[この投稿が見られた v] を受け取ったとき
もし <無視された> なら
とても落ち込む (゜◇゜)ガーン
end
inoking
Scratcher
1000+ posts

質問コーナー

fine316 wrote:

Nao_kun wrote:

前からの質問です。クラウドリストとは何でしょうか?見当たりません。
クラウド変数には数値しか入れられませんが、リストを数値化することでクラウド変数にリストを保存することができます。
作り方としては、リスト⇔文字列⇔数値の相互変換ができればいけます。
作り方が分からなければ、ほかの人から借りることもできます。(僕も作っています(宣伝))
仕組みとしては、 a…01 , b…02 , c…03 のように文字と数値を対応させて変換します。
詳しくはja:クラウドリストを参照。
補足させてもらいます。
クラウドリストについては専用トピックもあります。
クラウドリストって?
Ak-tui248
Scratcher
100+ posts

質問コーナー

masa2004 wrote:

Dmsahi wrote:

Qグラウドリストの作り方がわかりません

Tarokun wrote:

クラウドリストってどうやってつくるんですか?

[変数 v] を [ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-^\@[;:] にする::variable
とか使っているみたいなんですが
クラウド変数というものがありますよね。それがあるのに、リストはありません。そこで、リストの情報をクラウド変数に保存して、またリストに書き込み直すのを繰り返せばいい!ということなのですが、ここで困った事があります。
クラウド変数には数字しか書き込めないのです。
なので、このままだと「あ」や「ア」はおろか、「A」すらも書き込めないのです。そこで、
1文字1文字に数を当てはめるのです。
tarokunさんが言っていた、
[変数 v] を [ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-^\@[;:] にする::variable
というのは、
A=01,B=,02と、順に数を当てはめるため、使用する文字を番号順に並べた変数を意味しています。
例えば、
[☁リスト用変数 v] を [0001] にする
では、リストに「AB」と書き込むことができます。
さて、こんな感じで作っていると、途中である問題がおきます。
そう、リストの改行ができません。
そこで、改行するポイントに、「00」などを入れます。
「010002」では、

こうなります。これを繰り返すことで、クラウドリストができます。
ただし、この技術を使ってチャットルームを作ることは禁止されています。詳しくは、クラウドのFAQを見てください。
う〜〜ん。もうちょっと分かりやすく説明出来ますか?まだ、「010002」をどうすると、

こうなるのかが分からないので。

Powered by DjangoBB