Discuss Scratch

akiyuri2021
Scratcher
23 posts

Scratchで物理エンジンを作ろう

みんなの意見を投稿しあって(意見交換)、ゲームやアニメーション界隈を発展させよう!
最終的に協力し合って某アクションゲーム会社に負けないようなものを作ろう!
そしてこのフォーラムを通じてプログラミング力向上を目指そう!

ルール
・相手の意見を否定・反発しない
・関係のないことを送信しない


このトピックは自分で、「似ているトピックがない」と確認したため作られました。

Last edited by akiyuri2021 (Jan. 10, 2024 12:17:16)

akiyuri2021
Scratcher
23 posts

Scratchで物理エンジンを作ろう

先ほどのルールを読んだ・読んでないを確認するため、「#1を読みました」と載せておいてほしいです
TNTSuperMan
Scratcher
100+ posts

Scratchで物理エンジンを作ろう

物理エンジンは、簡易的なのでしたら時間をかければできると思います。
スイカゲームなどもあるので。
しかし話題のSupertypeなどのようなのはめちゃ複雑です。
既存の物理エンジンもありますが、直接Scratchで使えるものでもありません。
しかしTurbowarpではBox2dという物理エンジン拡張機能があります。

まあ、TurbowarpのBox2D拡張機能を使ってゲームを作って、
プロジェクトファイルをやり取りしてっていう形が一番簡単だと思います。
sayupu
Scratcher
19 posts

Scratchで物理エンジンを作ろう

スクラッチ内の物理エンジンとは、具体的にどういうものなのですかね、、、簡単に説明してくれると嬉しいです!
akiyuri2021
Scratcher
23 posts

Scratchで物理エンジンを作ろう

sayupu wrote:

スクラッチ内の物理エンジンとは、具体的にどういうものなのですかね、、、簡単に説明してくれると嬉しいです!
・重力
・慣性
・摩擦
などを基点とした物理(詳しいことは中学でやります)をScratch内で作っちゃおうということです。
honnkon
Scratcher
62 posts

Scratchで物理エンジンを作ろう

https://scratch-mit-edu.ezproxyberklee.flo.org/projects/946846576/
簡易的で、回転がおかしいですが、ボールの物理演算は一応作りました。
kencyan
Scratcher
100+ posts

Scratchで物理エンジンを作ろう

#1は読みました。
3Dの物理演算エンジンは作れるんですかね?作れれば3Dゲームの作成に大いに役立つと思いますが…
akiyuri2021
Scratcher
23 posts

Scratchで物理エンジンを作ろう

kencyan wrote:

#1は読みました。
3Dの物理演算エンジンは作れるんですかね?作れれば3Dゲームの作成に大いに役立つと思いますが…
理論上は作れます。
しかしリストと変数でめちゃくちゃになります。
ただでさえ3Dは難しいのに物理を入れたら…、めちゃくちゃ重くなりますね。
作り方が判明したらお知らせします
jjhs3213
Scratcher
29 posts

Scratchで物理エンジンを作ろう

https://scratch-mit-edu.ezproxyberklee.flo.org/projects/950327552/
3Dの物理演算は球体のみであれば作りました。
sei6sei
Scratcher
100+ posts

Scratchで物理エンジンを作ろう

jjhs3213 wrote:

3Dの物理演算は球体のみであれば作りました。
ありますよー。(というかだいぶ前に作った)マインクラフトだけど
Minecraft ver.2.0.0
jjhs3213
Scratcher
29 posts

Scratchで物理エンジンを作ろう

そういえばロープの物理演算も作りました
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/975342186/
kkjjuyhg
Scratcher
3 posts

Scratchで物理エンジンを作ろう

落下プログラム (着地というブロック定義は再描画せずに実行すると設定してください)

@Greenflag が押されたとき
[落下 v] を [0] にする
ずっと
y座標を (落下) ずつ変える
[落下 v] を (-1) ずつ変える
もし <[地面の色] に触れた> なら
[落下 v] を [0] にする
end
着地
end
定義 着地
<<[地面の色] に触れた>ではない>まで繰り返す
y座標を (1) にする
end
[スペース v] キーが押されたとき
y座標を (-1) にする
もし <[地面の色] に触れた> なら
[落下 v] を [10] にする
end

Last edited by kkjjuyhg (Jan. 19, 2025 07:40:41)

f1911018
Scratcher
100+ posts

Scratchで物理エンジンを作ろう

#12
「「着地」というブロック定義は、画面を再描画せずに実行する、という機能を使っています。」という記述を追加した方が分かりやすいと思います
shinsei_official
Scratcher
4 posts

Scratchで物理エンジンを作ろう

#12
より正確なプログラムにするならこのようなプログラムはどうでしょうか?
色で制御するよりもスプライトで制御したほうが正確なイメージです。


@Greenflag が押されたとき
[落下 v] を [0] にする
ずっと
y座標を (落下) ずつ変える
[落下 v] を (-1) ずつ変える
もし <[stage] に触れた> なら
[落下 v] を [0] にする
end
着地
end
定義 着地
<<[stage] に触れた>ではない>まで繰り返す
y座標を (1) にする
end
[スペース v] キーが押されたとき
y座標を (-1) にする
もし <[stage] に触れた> なら
[落下 v] を [10] にする
end



Last edited by shinsei_official (Jan. 19, 2025 10:53:22)

Powered by DjangoBB