プログラミングゼミ掲示板

プログラム相談所

19 コメント
views

ここは作品作りで

  • プログラムを作ったけど、思ったように動かない
  • 作りたいプログラムをどうやって作れば良いか分からない

などの問題を解決する掲示板です
作品のデータやプログラムの画像、プレイ動画などと問題点を掲示して他の人に修正案などを教えてもらいましょう

アップロードに便利なサイト

☁︎
作成: 2024/01/23 (火) 19:33:58
通報 ...
1
名前なし 2026/03/08 (日) 15:06:07 579fb@38958

https://d.kuku.lu/dtepewph3
これで回転するとカクカクするのを治したい

2

メッセージを受け取った時に既に回転処理を終えているキャラと終えていないキャラがいることが原因
メッセージを受け取った直後に処理をするようにするとカクカクしなくなるよ
画像1
あとこの方法では複数の画面操作を同時に行うと重くなるのでメッセージを1つにまとめた方がいいよ

3
名前なし 2026/03/14 (土) 16:55:05 991b7@38958

https://d.kuku.lu/vmyrpm2zf
ピクセル単位の描画が1%氏のベンチマークでのスペックが75万の端末でも10fpsしか出ないほど重すぎます。
スペックが30〜50万でも30fpsは出るほどは軽くして欲しいです。
そして、n×nピクセル分を
(左右反転、回転、色の濃さを駆使して補う、n=2だと5パターン、n=3だと約100パターン、n=4だと約8550パターン)
キャラをスタンプするという方法が重いのか軽いのかも知りたいです。
一応、4分木描画(16分木描画)を使うと軽くなる可能性がありますが、逆効果だったらしなくてもいいです。
長文失礼この問題はいくら考えても解決できなくて、この2、3年間ずっと悩まされたので、ここで聞くことにしました。

4

4分木描画については実装方法がよく分からなかったから調べられなかったけどピクセル単位の描画の軽量化についてはこれがほぼ限界(多少の改善の余地はあるが大きな変化は無い)
ピクセル単位の描画は描画処理の軽量化よりも描画内容の計算の軽量化が大事だと思う
あとスタンプの方法についてはn=2の場合では大して軽くはならなかった

5
名前なし 2026/03/14 (土) 21:07:30 991b7@38958 >> 4

これがプログラミングゼミの限界…

8
名前なし 2026/03/16 (月) 08:08:28 991b7@38958 >> 4

n=3だったら少しは軽くなるかも

6
名前なし 2026/03/14 (土) 21:13:03 991b7@38958 >> 3

https://d.kuku.lu/kveuysrkp
とりあえずピクセルで画像は描画はできる
AIにコードhttps://d.kuku.lu/jn25ph3gz作らせてそれを読み込ませて作る

7
名前なし 2026/03/14 (土) 21:13:56 991b7@38958 >> 6

URLがなんかおかしいから再び書くhttps://d.kuku.lu/jn25ph3gz

9
名前なし 2026/03/21 (土) 13:50:57 991b7@38958

二重配列の特定部分を見てソート方法を教えてください。(通常のソートだと、配列の中身の配列が文字列として認識され、正常にソートできなかった経験がある)
3Dのプログラムの一部として使うので、できるだけ軽くて、参照にする中身の配列の中身の位置を指定できるようにもしてほしいです。

画像1
最初に3や5の要素が来て欲しいものが…
画像2
12.5が最初に来る(なんで?)

リンク

https://d.kuku.lu/uvhew4zu8

10

最初の要素なら小数点以上の桁数を揃えれば正しくソートできるけど
そうでない場合は自分でソートを行うプログラムを作るしかないよ

前に作ったソートプログラムを改良?したやつが1番早いだろうからおすすめ

バケットソートを元にしているがずいぶん違う仕様になっている
https://d.kuku.lu/wbz3j64jb

あとファイルなうにprozemiprojファイルをアップロードする場合は事前に圧縮してzipファイルにした方がいいよ
ダウンロードすれば分かると思うけどそのままアップロードすると元の拡張子が壊されてzipファイルにされるから

11
名前なし 2026/03/22 (日) 08:28:13 991b7@38958 >> 10

そうなんだ今度からそうします

12
名前なし 2026/03/26 (木) 09:57:23 991b7@38958

https://d.kuku.lu/frkk2e3kc
これの3Dで、zクリッピングの計算方法はわかっていても、どう実装すればいいか行き詰まっています。どうすればいいですか(できるだけ軽いもので)

13
名前なし 2026/03/26 (木) 10:18:24 991b7@38958 >> 12

https://d.kuku.lu/fffnbpttx
そして解説動画(リンク綺麗)

14

ポリゴンでzクリッピングを行うと多くの場合形が四角形になってしまうので2つの三角形ポリゴンに分割する処理が必要
画像1
なのでポリゴンの頂点のどれかがクリッピング位置よりも手前に来た時点でポリゴンごと非表示にする方法が効率的だと思われる

15
名前なし 2026/03/27 (金) 10:11:59 991b7@38958 >> 14

3D のかいぞう
とりあえずある程度できました
(点を複数計算しているので、重いですがそのうちその問題は直すとして、これ以上軽量化はできませんか?)

16

回転していない(0度の)軸の回転処理を行わないようにすれば状況によっては軽量化できると思う

17
名前なし 2026/03/28 (土) 14:59:53 991b7@38958 >> 14

点を複数計算してるとこ直したらけっこう軽くなりました。3D軽量
そして、三角形ぬりつぶしの方法ってこれの一番最初にある変形スプライト式のアルゴリズムが一番軽いですか?

18
名前なし 2026/04/03 (金) 21:15:07 991b7@38958

衝突判定実験
これで、ぶつかって離れても、衝突していることになっているのはどうすればいいですか?画像1

19

原因を調べたところぶつかった時に位置を調整するプログラムが原因だと分かった(詳しくは分からないが互いの辺が同じ直線上にあるようにすることでぶつかったままになっていたらしい)
本当はぶつかっていない時にそれらの処理を行わないようにしたら直った
画像1
画像2