オブジェクト指向について、調べれば調べるほど疑問が募ります。低レベルで粗末な疑問かも知れませんが、ご教授願いたいです。
・データと振る舞いをまとめる?
まとめると何か良いことあるの?
ファイルあるいはモジュールにはまとまってるよね?
丁度いい単位があるのに、何故わざわざオブジェクトという概念を導入するの?
(Javaには1ファイル1クラスという文化あるらしいけど)
・カプセル化?
モジュールのimport, exportでも実現出来るよね?
(構造体などへのアクセスを制限できれば)
・ポリモーフィズム?
別にデータと振る舞いをまとめなくても実現出来るよね?
・モノのように扱いたい?
モノとして扱いたいときに扱えば良くない? なんでわざわざ全てをオブジェクトにするの?
探検
オブジェクト指向を教えてくれ!
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2021/03/16(火) 17:06:02.41ID:VhqTt897683デフォルトの名無しさん
2021/04/10(土) 20:21:03.66ID:XPz+daq5 >>682
ならばオブジェクト指向とチンポ【が】シコシコとは、関係無いのか?
ならばオブジェクト指向とチンポ【が】シコシコとは、関係無いのか?
684デフォルトの名無しさん
2021/04/10(土) 20:47:28.50ID:edMGid1M685デフォルトの名無しさん
2021/04/10(土) 21:06:31.28ID:GLiDRYw8 >>684
なんかここまで説明して分からない人にこれ以上説明するのは無駄な気がする
Object指向以前にコンピュータとはどういうものかもっと基礎的なことから勉強した方がいいと思う
恐らく掛け算のロジックを作れと言われたらそのまま掛けられる数の回数分だけ掛ける数をループして
足しこむようなロジックを作るタイプだな
なんかここまで説明して分からない人にこれ以上説明するのは無駄な気がする
Object指向以前にコンピュータとはどういうものかもっと基礎的なことから勉強した方がいいと思う
恐らく掛け算のロジックを作れと言われたらそのまま掛けられる数の回数分だけ掛ける数をループして
足しこむようなロジックを作るタイプだな
686デフォルトの名無しさん
2021/04/10(土) 21:34:26.26ID:edMGid1M 「ボタンを押している状態をクラスにしてしまうとプログラムが無茶無茶になる」という主張に対する反論に
「ボタンを押している状態」をクラスにしてない例を持ってきても意味なくないかい?
何か意図があったのだろうか?
「ボタンを押している状態」をクラスにしてない例を持ってきても意味なくないかい?
何か意図があったのだろうか?
687デフォルトの名無しさん
2021/04/10(土) 21:42:44.90ID:GLiDRYw8688デフォルトの名無しさん
2021/04/10(土) 21:44:59.07ID:AcLZ31++ ゲームみたいな例外をだしたって参考にならないんだがな
ゲームのボタンは押したらロボットに変形したりする
ゲームのボタンは押したらロボットに変形したりする
689デフォルトの名無しさん
2021/04/10(土) 21:48:22.34ID:hfLklo2F 仮想コントローラークラスにして
コントローラオブジェクトとして扱ってるってことか
コントローラオブジェクトとして扱ってるってことか
690デフォルトの名無しさん
2021/04/10(土) 21:52:03.15ID:GLiDRYw8691デフォルトの名無しさん
2021/04/10(土) 21:58:30.06ID:AcLZ31++692デフォルトの名無しさん
2021/04/10(土) 22:05:19.22ID:4ha6UGTx693デフォルトの名無しさん
2021/04/10(土) 22:08:38.99ID:bj32NwrN さあさあ議論が白熱して参りました!
694デフォルトの名無しさん
2021/04/10(土) 22:11:15.49ID:XPz+daq5 さあさあ皆さん、チンポ【が】シコシコして参りました!
695デフォルトの名無しさん
2021/04/10(土) 22:40:41.01ID:CMXyYVkE チンポがシコシコ君はいい加減に消えて欲しいが
「〜が」の時点で主語(サブジェクト)だから、それはサブジェクト指向やぞ
「〜が」の時点で主語(サブジェクト)だから、それはサブジェクト指向やぞ
696デフォルトの名無しさん
2021/04/10(土) 22:46:33.74ID:GpjuDdyG static変数を持つクラスを作ると
そのクラスに依存するクラスがたくさんできる
プロジェクト内で完結してるなら問題ない
そのかわり次のプロジェクトで使えないようなクラスが
たくさん残る
そういうことじゃ
そのクラスに依存するクラスがたくさんできる
プロジェクト内で完結してるなら問題ない
そのかわり次のプロジェクトで使えないようなクラスが
たくさん残る
そういうことじゃ
697デフォルトの名無しさん
2021/04/10(土) 23:07:58.78ID:d/QnIuGg privateにすりゃいいんじゃ
698デフォルトの名無しさん
2021/04/10(土) 23:38:19.35ID:GLiDRYw8 >>696
いつものじーさんか
んー、上のボタン制御のロジックに限って言ってしまうとボタン情報による状態変化を司るクラスを作っておいて
それだけ変えればいいように設計すればそこの変更だけで済むんだけど
Object指向のスレ的に言えば本来、開放閉鎖原則というのがあるからそれに関しては否定しないよ。
いつものじーさんか
んー、上のボタン制御のロジックに限って言ってしまうとボタン情報による状態変化を司るクラスを作っておいて
それだけ変えればいいように設計すればそこの変更だけで済むんだけど
Object指向のスレ的に言えば本来、開放閉鎖原則というのがあるからそれに関しては否定しないよ。
699デフォルトの名無しさん
2021/04/11(日) 04:40:53.16ID:CjAFb9gH700デフォルトの名無しさん
2021/04/11(日) 06:22:47.87ID:0+LhiyyI701デフォルトの名無しさん
2021/04/11(日) 07:11:59.27ID:CjAFb9gH >>700
だから既存のものはどうなってるかって聞いたんだよ
どれもゲームのようにはなってないだろ?
YAGNIって知ってるか?出来るかどうかの話はしてない。
必要ないのに無駄な汎用性をもたせるなという話
それともゲーム並みに無駄な汎用性をもたせるといい理由でもあるか?
だから既存のものはどうなってるかって聞いたんだよ
どれもゲームのようにはなってないだろ?
YAGNIって知ってるか?出来るかどうかの話はしてない。
必要ないのに無駄な汎用性をもたせるなという話
それともゲーム並みに無駄な汎用性をもたせるといい理由でもあるか?
702デフォルトの名無しさん
2021/04/11(日) 07:12:30.62ID:CjAFb9gH ゲームが必要だから、それ以外でもゲームと同じようにするべき
という考えなら、それこそ思考停止
という考えなら、それこそ思考停止
703デフォルトの名無しさん
2021/04/11(日) 07:14:37.55ID:0+LhiyyI 後輩「先輩」
先輩「何だ後輩」
後輩「すみません、画面スライドしたとき、スクロール範囲でないところでスクロールを検知させたいんですけど」
先輩「それで?」
後輩「CSSじゃ出来なそうなんです。どうすればいいですかね」
先輩「そう作ればいいだろ」
こんな感じで笑えたわw
流石に上司や客先にはやったらクビになるから
今度後輩にやってみよう
先輩「何だ後輩」
後輩「すみません、画面スライドしたとき、スクロール範囲でないところでスクロールを検知させたいんですけど」
先輩「それで?」
後輩「CSSじゃ出来なそうなんです。どうすればいいですかね」
先輩「そう作ればいいだろ」
こんな感じで笑えたわw
流石に上司や客先にはやったらクビになるから
今度後輩にやってみよう
704デフォルトの名無しさん
2021/04/11(日) 07:19:58.71ID:CjAFb9gH 後輩「先輩」
先輩「何だ後輩」
後輩「すみません、画面スライドしたとき、スクロール範囲でないところでスクロールを検知させたいんですけど」
先輩「それなら全画面を透明のCSSで覆えばいいよ」
こんな話か?w
先輩「何だ後輩」
後輩「すみません、画面スライドしたとき、スクロール範囲でないところでスクロールを検知させたいんですけど」
先輩「それなら全画面を透明のCSSで覆えばいいよ」
こんな話か?w
705デフォルトの名無しさん
2021/04/11(日) 07:20:56.91ID:0+LhiyyI >>702
この話においてゲームの話はただのトリガーで
「ゲームのような特殊な」って言うから
比較的一般のものの話をしているんで
そんな心配しなくていいよ。
で、どう作るのかまだ回答を貰っていないんだが
どうすんの?コレ
この話においてゲームの話はただのトリガーで
「ゲームのような特殊な」って言うから
比較的一般のものの話をしているんで
そんな心配しなくていいよ。
で、どう作るのかまだ回答を貰っていないんだが
どうすんの?コレ
706デフォルトの名無しさん
2021/04/11(日) 07:21:24.67ID:CjAFb9gH あれだな。見えているもがオブジェクト全てだと考えてしまうゲーム脳だなw
707デフォルトの名無しさん
2021/04/11(日) 07:22:43.08ID:CjAFb9gH708デフォルトの名無しさん
2021/04/11(日) 07:24:12.88ID:0+LhiyyI 後輩「先輩」
先輩「なんだ後輩」
後輩「なんか画面がスクロールしなくなっちゃったんですけど」
先輩「いいから、出来るように作ればいいんだよ!!」
こんな感じ
先輩「なんだ後輩」
後輩「なんか画面がスクロールしなくなっちゃったんですけど」
先輩「いいから、出来るように作ればいいんだよ!!」
こんな感じ
709デフォルトの名無しさん
2021/04/11(日) 07:25:51.39ID:CjAFb9gH 後輩「○○で作れそうじゃないんですけど。どうすればいいですかね」
↑相談
先輩「そう作ればいいだろ」
↑無能
こういうのが報連相をぶち壊しにするんだよな
後輩が相談してるのに、その相談にのらない
↑相談
先輩「そう作ればいいだろ」
↑無能
こういうのが報連相をぶち壊しにするんだよな
後輩が相談してるのに、その相談にのらない
710デフォルトの名無しさん
2021/04/11(日) 07:27:33.86ID:CjAFb9gH それでボタンを押した状態というのは
どれも状態としてボタンが持ってるのが普通なのに
なんでわざわざ別のオブジェクトにするんですか?
まだ答えもらってないよ
どれも状態としてボタンが持ってるのが普通なのに
なんでわざわざ別のオブジェクトにするんですか?
まだ答えもらってないよ
711デフォルトの名無しさん
2021/04/11(日) 07:34:09.10ID:CjAFb9gH 答えに詰まったようだねw
ゲームのボタンっていうのはキャラクターの一種なんだわ
例えばマリオだとPスイッチは、押したら潰れて消える
持って投げられる。ベルトコンベアやバネの上で動く。
壁として障害物になる。
そういうのとUIのボタンを一緒にするのは抽象化能力が低い
ボタンという名前だから同じものだと考えてしまっている
ゲームのボタン(キャラクター)を持ち出して
UIまでキャラクターにするのはアホ
ゲームのボタンっていうのはキャラクターの一種なんだわ
例えばマリオだとPスイッチは、押したら潰れて消える
持って投げられる。ベルトコンベアやバネの上で動く。
壁として障害物になる。
そういうのとUIのボタンを一緒にするのは抽象化能力が低い
ボタンという名前だから同じものだと考えてしまっている
ゲームのボタン(キャラクター)を持ち出して
UIまでキャラクターにするのはアホ
712デフォルトの名無しさん
2021/04/11(日) 07:35:04.81ID:0+LhiyyI713デフォルトの名無しさん
2021/04/11(日) 07:40:36.11ID:CjAFb9gH >>712
常にイベント拾う必要ないだろ
ボタンが押された・・・onPressイベント
押しっぱなし・・・そのまま何もイベントが発生しない
ボタンが話された・・・onReleaseイベント
こんなとこだろ
常にイベント拾う必要ないだろ
ボタンが押された・・・onPressイベント
押しっぱなし・・・そのまま何もイベントが発生しない
ボタンが話された・・・onReleaseイベント
こんなとこだろ
714デフォルトの名無しさん
2021/04/11(日) 07:42:16.08ID:CjAFb9gH そもそもフレーム単位で描画処理するというのがゲームの発想なわけで
普通のUIはそんなことはしない。
やっぱり理解できてないとしか言うしかないな
マジのゲーム脳だなw
普通のUIはそんなことはしない。
やっぱり理解できてないとしか言うしかないな
マジのゲーム脳だなw
715デフォルトの名無しさん
2021/04/11(日) 07:44:03.37ID:0+LhiyyI716デフォルトの名無しさん
2021/04/11(日) 07:47:15.00ID:CjAFb9gH717デフォルトの名無しさん
2021/04/11(日) 07:57:06.87ID:0+LhiyyI >>716
いいか?
ボタンをクラスにするのではない
「ボタンの状況」を把握するクラスを作ること
それが最初から言われている大条件だが
日本語苦手なのかな?
で、俺はスマホでスクロールの話をしたとき
お前は「原理は全く別のもの」と吹っかけた
では原理的に何がどう違うのか説明して貰おう
否定すると言うことは当然理解もしているし
こうだから違うと言うことを自分が
理解していて説明出来るからという解釈でいいんだよな?
いいか?
ボタンをクラスにするのではない
「ボタンの状況」を把握するクラスを作ること
それが最初から言われている大条件だが
日本語苦手なのかな?
で、俺はスマホでスクロールの話をしたとき
お前は「原理は全く別のもの」と吹っかけた
では原理的に何がどう違うのか説明して貰おう
否定すると言うことは当然理解もしているし
こうだから違うと言うことを自分が
理解していて説明出来るからという解釈でいいんだよな?
718デフォルトの名無しさん
2021/04/11(日) 08:13:48.85ID:CjAFb9gH719デフォルトの名無しさん
2021/04/11(日) 08:14:43.87ID:CjAFb9gH720デフォルトの名無しさん
2021/04/11(日) 08:18:42.29ID:CjAFb9gH 「ボタンの状況」を把握するクラスっていうのも意味不明なんだよな
イベントドリブンをしらないのか?
ボタンは状況が変わればそれをイベントとして通知する
それはハードウェアやドライバレベルで処理する話なの
いちいちフレーム単位でボタンの状況を
スキャンしたりしないの
イベントドリブンをしらないのか?
ボタンは状況が変わればそれをイベントとして通知する
それはハードウェアやドライバレベルで処理する話なの
いちいちフレーム単位でボタンの状況を
スキャンしたりしないの
721デフォルトの名無しさん
2021/04/11(日) 08:19:04.30ID:0+LhiyyI >>718
何もすり替えていない。
「ボタンを押している状態」のクラスを作ることだろ?
ボタンが別のオブジェクトになるとか
さっきから何の話をしているんだ?
俺からするとお前の方が回答したくなくて
話を逸らしているように見えるんだが?
なぁ、早く答えてくれよ
何もすり替えていない。
「ボタンを押している状態」のクラスを作ることだろ?
ボタンが別のオブジェクトになるとか
さっきから何の話をしているんだ?
俺からするとお前の方が回答したくなくて
話を逸らしているように見えるんだが?
なぁ、早く答えてくれよ
722デフォルトの名無しさん
2021/04/11(日) 08:22:01.88ID:CjAFb9gH > 「ボタンを押している状態」をクラスにする
> 「ボタンの状況」を把握するクラスを作ること
この2つが区別つかないようじゃ話にならんなw
> 「ボタンの状況」を把握するクラスを作ること
この2つが区別つかないようじゃ話にならんなw
723デフォルトの名無しさん
2021/04/11(日) 08:25:38.30ID:0+LhiyyI724デフォルトの名無しさん
2021/04/11(日) 08:28:12.36ID:CjAFb9gH > 「ボタンを押している状態」をクラス
ButtonPressedClass
> 「ボタンの状況」を把握するクラスを作ること
ButtonStateScannerClass
ぜんぜん違うだろ
ButtonPressedClass
> 「ボタンの状況」を把握するクラスを作ること
ButtonStateScannerClass
ぜんぜん違うだろ
725デフォルトの名無しさん
2021/04/11(日) 08:36:11.20ID:0+LhiyyI >>724
馬鹿か?
ボタンのイベント処理そのものをクラスにするなんて常識としてあり得ないだろ?
そういう言葉遊びはもう沢山だから
キチンとボタンの状態を管理する話から話を逸らすなよ。
で、スクロールの件は?早く答えてくれよ。
馬鹿か?
ボタンのイベント処理そのものをクラスにするなんて常識としてあり得ないだろ?
そういう言葉遊びはもう沢山だから
キチンとボタンの状態を管理する話から話を逸らすなよ。
で、スクロールの件は?早く答えてくれよ。
726デフォルトの名無しさん
2021/04/11(日) 08:37:59.54ID:CjAFb9gH > ボタンのイベント処理そのものをクラスにするなんて常識としてあり得ないだろ?
誰もそんな話はしてない
どこをみて「ボタンのイベント処理そのものをクラス」と
書いてあると思ったのか?
そして>>724へのレスはなし。
都合の悪いレスは無視して違う話を始めるw
誰もそんな話はしてない
どこをみて「ボタンのイベント処理そのものをクラス」と
書いてあると思ったのか?
そして>>724へのレスはなし。
都合の悪いレスは無視して違う話を始めるw
727デフォルトの名無しさん
2021/04/11(日) 08:45:17.73ID:0+LhiyyI728デフォルトの名無しさん
2021/04/11(日) 08:50:34.59ID:CjAFb9gH > どう見てもボタン押下しましたクラスだが
> それはボタンを押下したイベントを司るクラスでないなら何のクラスなんだ?
ボタンが押された状態のクラスだろ
なんでもう押されてしまった状態なのに
ボタンを押すイベントを司らなければならないのか
ボタンを押すイベントが発生した後のクラスだろうに
はぁ英語も通じないのか・・・
> それはボタンを押下したイベントを司るクラスでないなら何のクラスなんだ?
ボタンが押された状態のクラスだろ
なんでもう押されてしまった状態なのに
ボタンを押すイベントを司らなければならないのか
ボタンを押すイベントが発生した後のクラスだろうに
はぁ英語も通じないのか・・・
729デフォルトの名無しさん
2021/04/11(日) 08:56:03.31ID:0+LhiyyI730デフォルトの名無しさん
2021/04/11(日) 08:59:35.24ID:7+Z1QVDQ チンポという主体意思決定存在(サブジェクト)を、オブジェクト指向で表現するということなんだが?
>>695
>「〜が」の時点で主語(サブジェクト)だから、それはサブジェクト指向やぞ
カンタンに表記すれば、
Subject = 法則,
Object = (法則によって規定される)集団
になるんでしょう。
これをコンピュータのプログラミングに当てはめると、
Subject = コンピュータの処理方法,
Object = プログラマが設定可能な部分
になるんではないかと。
https://note.com/nephews_tech/n/n02380a2cc0e3
>>695
>「〜が」の時点で主語(サブジェクト)だから、それはサブジェクト指向やぞ
カンタンに表記すれば、
Subject = 法則,
Object = (法則によって規定される)集団
になるんでしょう。
これをコンピュータのプログラミングに当てはめると、
Subject = コンピュータの処理方法,
Object = プログラマが設定可能な部分
になるんではないかと。
https://note.com/nephews_tech/n/n02380a2cc0e3
731デフォルトの名無しさん
2021/04/11(日) 09:01:34.10ID:CjAFb9gH732デフォルトの名無しさん
2021/04/11(日) 09:03:59.94ID:CjAFb9gH > >>724で言っている下のクラスとは何が違うのか?
それはお前が「ボタンを押してる状態のクラス」と聞いて
「ボタンの押してる状態を把握するを把握するクラス」と勘違いしたものだろ
お前が想像で作り出したものなんか知らんわ
それはお前が「ボタンを押してる状態のクラス」と聞いて
「ボタンの押してる状態を把握するを把握するクラス」と勘違いしたものだろ
お前が想像で作り出したものなんか知らんわ
733デフォルトの名無しさん
2021/04/11(日) 09:07:23.17ID:7+Z1QVDQ735デフォルトの名無しさん
2021/04/11(日) 09:10:06.68ID:0+LhiyyI736デフォルトの名無しさん
2021/04/11(日) 09:10:12.49ID:CjAFb9gH737デフォルトの名無しさん
2021/04/11(日) 09:10:32.38ID:CjAFb9gH > 後はスクロールの件だけ答えてくれればいいや。
すでに返答済み
すでに返答済み
738デフォルトの名無しさん
2021/04/11(日) 09:15:12.83ID:0+LhiyyI >>736
結局ボタンを押した後に行うのは
それに対しどう状況が変化するのか
管理するものへの設定だけだろ?
名前が違うだけでやることは同じだからな
だから言葉遊びと言ったんだ。
>既に回答済み
ああ、あの「そのように作ればいい」ってやつね。
はいはい
結局ボタンを押した後に行うのは
それに対しどう状況が変化するのか
管理するものへの設定だけだろ?
名前が違うだけでやることは同じだからな
だから言葉遊びと言ったんだ。
>既に回答済み
ああ、あの「そのように作ればいい」ってやつね。
はいはい
739デフォルトの名無しさん
2021/04/11(日) 09:25:57.00ID:7+Z1QVDQ オブジェクトの更新処理
一般にゲームは、時間の経過とともに状態が変化します。
その時間経過による状態の更新を、BattleクラスのUpdate()メソッドで処理することとします。
そして、BattleクラスのUpdate()の中で、各BattleObjectのUpdate()を呼びます。
https://developer.aiming-inc.com/programming/design-battle-program/
一般にゲームは、時間の経過とともに状態が変化します。
その時間経過による状態の更新を、BattleクラスのUpdate()メソッドで処理することとします。
そして、BattleクラスのUpdate()の中で、各BattleObjectのUpdate()を呼びます。
https://developer.aiming-inc.com/programming/design-battle-program/
740デフォルトの名無しさん
2021/04/11(日) 09:34:53.14ID:7+Z1QVDQ バトル通信ラグ軽減のための「武器持ち替え廃止論」コメント 1件
アイミョン
[KS108-054]
テーマ:バトル2020/09/20 15:47
https://hiroba.dqx.jp/sc/forum/pastthread/413734/
>現在できている操作ができなくなってしまう可能性もあるため
武器持ち替えは操作が無駄に多くなるし行動ターンを浪費するので、無くしてしまっても問題無いと思います。
https://i.imgur.com/U4jgmc3.png
アイミョン
[KS108-054]
テーマ:バトル2020/09/20 15:47
https://hiroba.dqx.jp/sc/forum/pastthread/413734/
>現在できている操作ができなくなってしまう可能性もあるため
武器持ち替えは操作が無駄に多くなるし行動ターンを浪費するので、無くしてしまっても問題無いと思います。
https://i.imgur.com/U4jgmc3.png
741デフォルトの名無しさん
2021/04/11(日) 09:45:39.75ID:0+LhiyyI >>739
お、いつもチンポチンポ言ってるけど
こういうのの反応は早いのね。
ちょっと見直したよ。
ちょっとC++は忘れたけど時間経過と言うか
確か走査線が一画面分走ったときに起る
VSYNC割込みが使えたんじゃなかったかなー
まぁその辺の単位で処理しているのは違いないよ
ネットでの他者との同期は俺もそこまで詳しくないけど
他のPCとの同期は2台だけでもかなりややこしかったからね
後で色々起きるのも理解出来るよ。
お、いつもチンポチンポ言ってるけど
こういうのの反応は早いのね。
ちょっと見直したよ。
ちょっとC++は忘れたけど時間経過と言うか
確か走査線が一画面分走ったときに起る
VSYNC割込みが使えたんじゃなかったかなー
まぁその辺の単位で処理しているのは違いないよ
ネットでの他者との同期は俺もそこまで詳しくないけど
他のPCとの同期は2台だけでもかなりややこしかったからね
後で色々起きるのも理解出来るよ。
742デフォルトの名無しさん
2021/04/11(日) 09:53:24.21ID:7+Z1QVDQ 状態変化といっても、オシッコするときのチンポはインナークラス、勃起・射精するときのチンポはサブクラス。
>BattleクラスのUpdate()メソッドで処理することとします。
オンラインゲームのバトルはごくシンプルに、同一人格の状態変化はインナークラスが良い。
928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
>BattleクラスのUpdate()メソッドで処理することとします。
オンラインゲームのバトルはごくシンプルに、同一人格の状態変化はインナークラスが良い。
928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
743デフォルトの名無しさん
2021/04/11(日) 09:56:07.22ID:dlO5vcSm744デフォルトの名無しさん
2021/04/11(日) 10:14:46.71ID:0+LhiyyI >>743
まぁお前はその入口にすら立てていないことも解ったけどな
まぁお前はその入口にすら立てていないことも解ったけどな
745デフォルトの名無しさん
2021/04/11(日) 10:20:51.36ID:dlO5vcSm >スクロールする枠とスクロールを検知する枠が異なる場合
検知するというのがスクロールイベント自体を作成することを言ってるのか
それともスクロールイベントをハンドリングすることを言ってるのかわからないな
前者ならスクロールされた枠がスクロールイベントを発行すればいいだけなのに
別のところでスクロールされた枠用のイベントを発行する意味がわからない
後者ならごく一般的なことなので何を問題にしてるかがわからない
とかいっても無駄かな
検知するというのがスクロールイベント自体を作成することを言ってるのか
それともスクロールイベントをハンドリングすることを言ってるのかわからないな
前者ならスクロールされた枠がスクロールイベントを発行すればいいだけなのに
別のところでスクロールされた枠用のイベントを発行する意味がわからない
後者ならごく一般的なことなので何を問題にしてるかがわからない
とかいっても無駄かな
746デフォルトの名無しさん
2021/04/11(日) 10:29:15.53ID:0+LhiyyI >>745
というかお前はまずスマホのタッチとかスライドとかどうなってんのとか、
昨日も言ったけどコンピュータとは何か、から勉強しような。
自分の後輩なら手取り足取り教えるけど
スクロールイベントがどうのなんて言ってる時点で本質が全く見えていないのミエミエだから
というかお前はまずスマホのタッチとかスライドとかどうなってんのとか、
昨日も言ったけどコンピュータとは何か、から勉強しような。
自分の後輩なら手取り足取り教えるけど
スクロールイベントがどうのなんて言ってる時点で本質が全く見えていないのミエミエだから
747デフォルトの名無しさん
2021/04/11(日) 10:32:01.65ID:0+LhiyyI 話続きだったな
自分の後輩なら手取り足取り教えるけど
そんな義理は全くないから。
ましてや質問者じゃなくて教える立場として
このスレに来ているなら尚更。
自分の後輩なら手取り足取り教えるけど
そんな義理は全くないから。
ましてや質問者じゃなくて教える立場として
このスレに来ているなら尚更。
748デフォルトの名無しさん
2021/04/11(日) 11:17:29.99ID:7+Z1QVDQ ボタンが押されたか離されたかってのはともかく、
>>712
>なら画面が動いている最中に
>ボタンが押されたばかりか離されたか
押しっぱなしか押してないかどう検知するんだよ?
オンラインゲームでバトルキャラが死んだか否かってことでの『死亡ラグ』は珍しく無いぞ?
他のプレイヤー視点では既に倒れている。しかし、遅れているので自分では分からないためいきなり何も
ないところで死ぬ。また、デスマッチなどでは既に死んでいるため、自分が動けてもリスポンされていたり
して無敵時間が無くなり、復活した瞬間に倒されることもある。
自分がいつ死んでいるのか分からず突然死んで突然画面が切り替わってしまう。その結果キルログを注視してしまいゲームを楽しめなくなってくる。
https://gamingpcs.jp/knowledge/kankyou/kaisenhuguai/
>>712
>なら画面が動いている最中に
>ボタンが押されたばかりか離されたか
押しっぱなしか押してないかどう検知するんだよ?
オンラインゲームでバトルキャラが死んだか否かってことでの『死亡ラグ』は珍しく無いぞ?
他のプレイヤー視点では既に倒れている。しかし、遅れているので自分では分からないためいきなり何も
ないところで死ぬ。また、デスマッチなどでは既に死んでいるため、自分が動けてもリスポンされていたり
して無敵時間が無くなり、復活した瞬間に倒されることもある。
自分がいつ死んでいるのか分からず突然死んで突然画面が切り替わってしまう。その結果キルログを注視してしまいゲームを楽しめなくなってくる。
https://gamingpcs.jp/knowledge/kankyou/kaisenhuguai/
749デフォルトの名無しさん
2021/04/11(日) 11:37:53.31ID:7+Z1QVDQ オシッコを出している状態と、オシッコを止めている状態、インナークラスのメッセージング処理だなw
724 デフォルトの名無しさん sage 2021/04/11(日) 08:28:12.36 ID:CjAFb9gH
> 「ボタンを押している状態」をクラス
ButtonPressedClass
> 「ボタンの状況」を把握するクラスを作ること
ButtonStateScannerClass
ぜんぜん違うだろ
250 デフォルトの名無しさん sage 2021/03/21(日) 16:00:54.94 ID:rWfpUSZ4
状態をオブジェクトにするな
は昔からよく言われている
「ボタンを押している状態」
をクラスにしてしまうと
プログラムが無茶無茶になる
「モノ」をオブジェクトにする
これがオブジェクト指向の本質
724 デフォルトの名無しさん sage 2021/04/11(日) 08:28:12.36 ID:CjAFb9gH
> 「ボタンを押している状態」をクラス
ButtonPressedClass
> 「ボタンの状況」を把握するクラスを作ること
ButtonStateScannerClass
ぜんぜん違うだろ
250 デフォルトの名無しさん sage 2021/03/21(日) 16:00:54.94 ID:rWfpUSZ4
状態をオブジェクトにするな
は昔からよく言われている
「ボタンを押している状態」
をクラスにしてしまうと
プログラムが無茶無茶になる
「モノ」をオブジェクトにする
これがオブジェクト指向の本質
750デフォルトの名無しさん
2021/04/11(日) 11:47:01.37ID:7+Z1QVDQ さっきトイレでオシッコを出したり止めたりしていたが、
>オンラインゲームでバトルキャラが死んだか否かってことでの『死亡ラグ』は珍しく無いぞ?
オシッコを出したり止めたりするのに、脳とチンポで『通信ラグ』を感じたのは、自分だけたろうか???
>オンラインゲームでバトルキャラが死んだか否かってことでの『死亡ラグ』は珍しく無いぞ?
オシッコを出したり止めたりするのに、脳とチンポで『通信ラグ』を感じたのは、自分だけたろうか???
751デフォルトの名無しさん
2021/04/11(日) 12:31:55.97ID:7+Z1QVDQ インナークラスを用いたメッセージングによる状態操作、イベントドリブンによる割り込み処理と通信ラグ、
それはトイレでオシッコを出したり止めたりして、脳とチンポで必ずしも『同期』が取れるかという問題だ。
728 デフォルトの名無しさん sage 2021/04/11(日) 08:50:34.59 ID:CjAFb9gH
> どう見てもボタン押下しましたクラスだが
> それはボタンを押下したイベントを司るクラスでないなら何のクラスなんだ?
ボタンが押された状態のクラスだろ
なんでもう押されてしまった状態なのに
ボタンを押すイベントを司らなければならないのか
ボタンを押すイベントが発生した後のクラスだろうに
はぁ英語も通じないのか・・・
それはトイレでオシッコを出したり止めたりして、脳とチンポで必ずしも『同期』が取れるかという問題だ。
728 デフォルトの名無しさん sage 2021/04/11(日) 08:50:34.59 ID:CjAFb9gH
> どう見てもボタン押下しましたクラスだが
> それはボタンを押下したイベントを司るクラスでないなら何のクラスなんだ?
ボタンが押された状態のクラスだろ
なんでもう押されてしまった状態なのに
ボタンを押すイベントを司らなければならないのか
ボタンを押すイベントが発生した後のクラスだろうに
はぁ英語も通じないのか・・・
752デフォルトの名無しさん
2021/04/11(日) 12:42:55.74ID:7+Z1QVDQ プログラミング言語の性能差
主な言語とスループット
言語 スループット 特性 C/C++ 100 静的言語 ネイティブコード Java 1〜10 静的言語 VM バイトコード Ruby/Python 0.1〜1 動的言語
オンラインゲームのサーバではC/C++が最も使われる
http://www.wata-lab.meijo-u.ac.jp/file/seminar/2013/2013-Semi1-Atsushi_Somekawa.pdf
オンラインゲームでは『メッセージング』なんて当たり前なのに、いつの時代の話をしているのかな?
701 デフォルトの名無しさん sage 2021/04/11(日) 07:11:59.27 ID:CjAFb9gH
>>700
だから既存のものはどうなってるかって聞いたんだよ
どれもゲームのようにはなってないだろ?
YAGNIって知ってるか?出来るかどうかの話はしてない。
必要ないのに無駄な汎用性をもたせるなという話
それともゲーム並みに無駄な汎用性をもたせるといい理由でもあるか?
主な言語とスループット
言語 スループット 特性 C/C++ 100 静的言語 ネイティブコード Java 1〜10 静的言語 VM バイトコード Ruby/Python 0.1〜1 動的言語
オンラインゲームのサーバではC/C++が最も使われる
http://www.wata-lab.meijo-u.ac.jp/file/seminar/2013/2013-Semi1-Atsushi_Somekawa.pdf
オンラインゲームでは『メッセージング』なんて当たり前なのに、いつの時代の話をしているのかな?
701 デフォルトの名無しさん sage 2021/04/11(日) 07:11:59.27 ID:CjAFb9gH
>>700
だから既存のものはどうなってるかって聞いたんだよ
どれもゲームのようにはなってないだろ?
YAGNIって知ってるか?出来るかどうかの話はしてない。
必要ないのに無駄な汎用性をもたせるなという話
それともゲーム並みに無駄な汎用性をもたせるといい理由でもあるか?
753デフォルトの名無しさん
2021/04/11(日) 13:13:51.27ID:7+Z1QVDQ オブジェクト指向には、大きく分けて2種類ある。
1 インナークラス(オシッコをするときのチンポ)
ネットワーク、メッセージング、イベントドリブン、同期処理・・・
2 サブクラス(勃起・射精するときのチンポ)
自然言語処理、人工知能・・・
世界初のパーソナルコンピュータであるApple Iと、キーボードやメモリ、CPU、画像出力装置、外部記憶装置、
音声出力装置とのインターフェース、プログラム言語などのオールインワンパッケージ化を可能にした
最初のコンピュータであるApple IIの開発を1人で成し遂げたのもスティーブ・ウォズニアックです。
https://engineer-shukatu.jp/column/archives/26603
↑
インターネットも人工知能も無い1980年代のプログラミングは、いかにメモリを節約するかということだった。
演算処理をいかに早く正確に行うかが全てであって、オブジェクト指向がどうこうという議論は無かったはずだ。
近年のオブジェクト指向を意識したシステム開発は、インターネットと人工知能が背景にあり、従って、
チンポ【が】シコシコするという、新しい言語パラダイムが求められているということだ。
1 インナークラス(オシッコをするときのチンポ)
ネットワーク、メッセージング、イベントドリブン、同期処理・・・
2 サブクラス(勃起・射精するときのチンポ)
自然言語処理、人工知能・・・
世界初のパーソナルコンピュータであるApple Iと、キーボードやメモリ、CPU、画像出力装置、外部記憶装置、
音声出力装置とのインターフェース、プログラム言語などのオールインワンパッケージ化を可能にした
最初のコンピュータであるApple IIの開発を1人で成し遂げたのもスティーブ・ウォズニアックです。
https://engineer-shukatu.jp/column/archives/26603
↑
インターネットも人工知能も無い1980年代のプログラミングは、いかにメモリを節約するかということだった。
演算処理をいかに早く正確に行うかが全てであって、オブジェクト指向がどうこうという議論は無かったはずだ。
近年のオブジェクト指向を意識したシステム開発は、インターネットと人工知能が背景にあり、従って、
チンポ【が】シコシコするという、新しい言語パラダイムが求められているということだ。
754デフォルトの名無しさん
2021/04/11(日) 16:03:38.54ID:CjAFb9gH >>748
> 押しっぱなしか押してないかどう検知するんだよ?
>
> オンラインゲームでバトルキャラが死んだか否かってことでの『死亡ラグ』は珍しく無いぞ?
だからお前はゲーム脳(ゲームの設計しか知らない)だと言ってる
フレーム単位でボタンの状態をスキャンするなんてことは
普通のアプリではしないんだよ
そもそもな、フレーム(1/60)ごとに発生するイベントが存在しない
お前は1/60ごとに描画しなきゃならないと思ってるんだろうが、そんなことをするのはゲームだけ
普通は何もイベントが発生しない限り変化がない
ボタンは押したときと離したときにイベントが発生する
それに応じて処理をするのがイベントドリブン
押しっぱなしは普通キーリピートとして、何度も押したというイベントが発生するのが普通のUI
それじゃゲームには役に立たない!っていいたいんだろう?ゲーム脳だからゲームに役に立たない!としか言わんわけだ
普通のUIで押しっぱなしの状態で何かを変化させる必要があれば
そのときにタイマーイベントを設置する。
ゲーム脳のお前は、このタイマーイベントがあるという前提でしか物事を考えられないんだろうが
普通のUIじゃそんなの追加機能だ
そして押しっぱなしの状態を検知したいんだったな?
ボタンオブジェクトは自身に押されたか押されてないかの状態を示すステータスフラグを持ってる
(なければそういうステータスフラグを作って、ボタンが押された・離されたときにフラグを更新するだけ)
そしてタイマーイベントからそのステータスを見るだけだ
> 押しっぱなしか押してないかどう検知するんだよ?
>
> オンラインゲームでバトルキャラが死んだか否かってことでの『死亡ラグ』は珍しく無いぞ?
だからお前はゲーム脳(ゲームの設計しか知らない)だと言ってる
フレーム単位でボタンの状態をスキャンするなんてことは
普通のアプリではしないんだよ
そもそもな、フレーム(1/60)ごとに発生するイベントが存在しない
お前は1/60ごとに描画しなきゃならないと思ってるんだろうが、そんなことをするのはゲームだけ
普通は何もイベントが発生しない限り変化がない
ボタンは押したときと離したときにイベントが発生する
それに応じて処理をするのがイベントドリブン
押しっぱなしは普通キーリピートとして、何度も押したというイベントが発生するのが普通のUI
それじゃゲームには役に立たない!っていいたいんだろう?ゲーム脳だからゲームに役に立たない!としか言わんわけだ
普通のUIで押しっぱなしの状態で何かを変化させる必要があれば
そのときにタイマーイベントを設置する。
ゲーム脳のお前は、このタイマーイベントがあるという前提でしか物事を考えられないんだろうが
普通のUIじゃそんなの追加機能だ
そして押しっぱなしの状態を検知したいんだったな?
ボタンオブジェクトは自身に押されたか押されてないかの状態を示すステータスフラグを持ってる
(なければそういうステータスフラグを作って、ボタンが押された・離されたときにフラグを更新するだけ)
そしてタイマーイベントからそのステータスを見るだけだ
755デフォルトの名無しさん
2021/04/11(日) 18:21:34.08ID:AX7XCaAp >>710
むかーし、スマートフォンアプリ(Java/Objective-Cベース)開発初期に
ケータイやWebアプリ(flashベース)の人が来て質問してきた時に
スマホ側は「ボタン自体がタッチイベントなどの属性持ってる」前提で話してるのに
ケータイflashの人が「画面へのタッチをトリガーに
if文で矩型の範囲設定してどこを触ったか?で条件分岐させよう」としてて
噛み合わなさに苦笑したの思い出した。
むかーし、スマートフォンアプリ(Java/Objective-Cベース)開発初期に
ケータイやWebアプリ(flashベース)の人が来て質問してきた時に
スマホ側は「ボタン自体がタッチイベントなどの属性持ってる」前提で話してるのに
ケータイflashの人が「画面へのタッチをトリガーに
if文で矩型の範囲設定してどこを触ったか?で条件分岐させよう」としてて
噛み合わなさに苦笑したの思い出した。
756デフォルトの名無しさん
2021/04/11(日) 21:18:16.23ID:LXnW0jT4 高橋名人だっけ?
1秒間に、18回クリックできた人
確か、これがこの当時の限界のはず
1秒間に、18回クリックできた人
確か、これがこの当時の限界のはず
757デフォルトの名無しさん
2021/04/12(月) 08:31:37.55ID:A3OoULtt >>754
つまり君の言い分はこうだ
「ぼくのさいきょうのおぶじぇくとしこう(ただしげーむやすまほではつかえません)」
つまり時間による状態変化にはついて行けないということだ。
別にタイマーみてボタン押下のイベントを見るのは構わないが、ひと処理がタイマー期間に間に合わず、次の期間にもなだれこむ場合、
ひとつの処理の中で複数回のボタン読み込み処理が発生する場合があり、それだけだと正確なボタン検知が出来なくなるし
それ用の処理をそのために作るのも大変だしな
作るとしてもそれを含めて
結局正しいボタン情報を監視、制御するクラスはそういう役割として持たせておくと楽だろう
それとあの後一生懸命勉強したのだろうが、フレーム(1/60秒)と書いてあるがfpsという言葉を知っているか?
身に付けたばかりの知識はひけらかすと恥をかくから気をつけた方がいいぞ
後、プログラマーのゲーム脳というのは
少なくとも君の語る最強のオブジェクト指向のようなカタワではないから褒め言葉として受け止めておくよ
それと人が居なくなった頃を見計らって書き込むのはいいが、
いくら俺が怖いからって他の誰かれ構わす他噛みつくのはみっともないな
後でチンポさんに謝っておけよ
つまり君の言い分はこうだ
「ぼくのさいきょうのおぶじぇくとしこう(ただしげーむやすまほではつかえません)」
つまり時間による状態変化にはついて行けないということだ。
別にタイマーみてボタン押下のイベントを見るのは構わないが、ひと処理がタイマー期間に間に合わず、次の期間にもなだれこむ場合、
ひとつの処理の中で複数回のボタン読み込み処理が発生する場合があり、それだけだと正確なボタン検知が出来なくなるし
それ用の処理をそのために作るのも大変だしな
作るとしてもそれを含めて
結局正しいボタン情報を監視、制御するクラスはそういう役割として持たせておくと楽だろう
それとあの後一生懸命勉強したのだろうが、フレーム(1/60秒)と書いてあるがfpsという言葉を知っているか?
身に付けたばかりの知識はひけらかすと恥をかくから気をつけた方がいいぞ
後、プログラマーのゲーム脳というのは
少なくとも君の語る最強のオブジェクト指向のようなカタワではないから褒め言葉として受け止めておくよ
それと人が居なくなった頃を見計らって書き込むのはいいが、
いくら俺が怖いからって他の誰かれ構わす他噛みつくのはみっともないな
後でチンポさんに謝っておけよ
758デフォルトの名無しさん
2021/04/12(月) 09:11:21.50ID:yZXPyOt1 >>757
> 別にタイマーみてボタン押下のイベントを見るのは構わないが、ひと処理がタイマー期間に間に合わず、次の期間にもなだれこむ場合、
コマ落ちでもすりゃいいじゃん。なにか問題でも?
やっぱりゲームのことしか考えてないよね
> 別にタイマーみてボタン押下のイベントを見るのは構わないが、ひと処理がタイマー期間に間に合わず、次の期間にもなだれこむ場合、
コマ落ちでもすりゃいいじゃん。なにか問題でも?
やっぱりゲームのことしか考えてないよね
759デフォルトの名無しさん
2021/04/12(月) 09:13:33.97ID:A3OoULtt あ、カタワ指向君ちーっす
760デフォルトの名無しさん
2021/04/12(月) 09:15:25.81ID:yZXPyOt1 >>757
お前はイベントドリブンっていうのを知ったほうがいいよ
今の主流の開発手法。ブラウザなんかもイベントドリブンで処理する
マウスクリック、キーボード入力、タッチ、などなど
それぞれのイベントが発生し、そのイベントの中で処理を行う
それらのイベントが発生しない間に、常にボタンを監視するなんてことはしない
お前はイベントドリブンっていうのを知ったほうがいいよ
今の主流の開発手法。ブラウザなんかもイベントドリブンで処理する
マウスクリック、キーボード入力、タッチ、などなど
それぞれのイベントが発生し、そのイベントの中で処理を行う
それらのイベントが発生しない間に、常にボタンを監視するなんてことはしない
761デフォルトの名無しさん
2021/04/12(月) 09:17:10.71ID:AGjFdU+p ???
>>754
>押しっぱなしは普通キーリピートとして、何度も押したというイベントが発生するのが普通のUI
756 デフォルトの名無しさん sage 2021/04/11(日) 21:18:16.23 ID:LXnW0jT4
高橋名人だっけ?
1秒間に、18回クリックできた人
確か、これがこの当時の限界のはず
>>754
>押しっぱなしは普通キーリピートとして、何度も押したというイベントが発生するのが普通のUI
756 デフォルトの名無しさん sage 2021/04/11(日) 21:18:16.23 ID:LXnW0jT4
高橋名人だっけ?
1秒間に、18回クリックできた人
確か、これがこの当時の限界のはず
762デフォルトの名無しさん
2021/04/12(月) 09:17:17.08ID:yZXPyOt1 イベントドリブンは省エネ
メインループをずっと繰り返すというのはアンチパターン
特にスマホなんかだと、そんな事するとあっという間にバッテリーが無くなる
メインループをずっと繰り返すというのはアンチパターン
特にスマホなんかだと、そんな事するとあっという間にバッテリーが無くなる
763デフォルトの名無しさん
2021/04/12(月) 09:20:34.27ID:A3OoULtt764デフォルトの名無しさん
2021/04/12(月) 09:22:29.29ID:yZXPyOt1765デフォルトの名無しさん
2021/04/12(月) 09:28:23.26ID:A3OoULtt766デフォルトの名無しさん
2021/04/12(月) 09:28:42.73ID:AGjFdU+p イベント連携機能では、発生する『イベント』と、イベントを検知したときにどう振る舞うかといった
『アクション』を事前に登録していただければ、『イベント』の発生を監視し、イベントの発生を検知したら、
事前に登録されている『アクション』を自動実行することができます。
http://a-auto50.blogspot.com/2014/11/blog-post.html?m=1
760 デフォルトの名無しさん sage 2021/04/12(月) 09:15:25.81 ID:yZXPyOt1
>>757
お前はイベントドリブンっていうのを知ったほうがいいよ
今の主流の開発手法。ブラウザなんかもイベントドリブンで処理する
マウスクリック、キーボード入力、タッチ、などなど
それぞれのイベントが発生し、そのイベントの中で処理を行う
それらのイベントが発生しない間に、常にボタンを監視するなんてことはしない
『アクション』を事前に登録していただければ、『イベント』の発生を監視し、イベントの発生を検知したら、
事前に登録されている『アクション』を自動実行することができます。
http://a-auto50.blogspot.com/2014/11/blog-post.html?m=1
760 デフォルトの名無しさん sage 2021/04/12(月) 09:15:25.81 ID:yZXPyOt1
>>757
お前はイベントドリブンっていうのを知ったほうがいいよ
今の主流の開発手法。ブラウザなんかもイベントドリブンで処理する
マウスクリック、キーボード入力、タッチ、などなど
それぞれのイベントが発生し、そのイベントの中で処理を行う
それらのイベントが発生しない間に、常にボタンを監視するなんてことはしない
767デフォルトの名無しさん
2021/04/12(月) 09:55:23.61ID:A3OoULtt768デフォルトの名無しさん
2021/04/12(月) 09:58:33.20ID:AGjFdU+p 左側の太い線で書いたループはイベントループと呼ばれ、発生するイベントを常に監視しています。そして、
ユーザがマウスを押したり、キーを押したりして何らかのイベントが発生すると、それに対応する処理を呼び
出します。各処理は自分の仕事が終わると再びイベントループに戻り、次のイベントを監視します。
http://www.ics.kagoshima-u.ac.jp/edu/ProgramingJava/Event/top.html
762 デフォルトの名無しさん sage 2021/04/12(月) 09:17:17.08 ID:yZXPyOt1
イベントドリブンは省エネ
メインループをずっと繰り返すというのはアンチパターン
特にスマホなんかだと、そんな事するとあっという間にバッテリーが無くなる
ユーザがマウスを押したり、キーを押したりして何らかのイベントが発生すると、それに対応する処理を呼び
出します。各処理は自分の仕事が終わると再びイベントループに戻り、次のイベントを監視します。
http://www.ics.kagoshima-u.ac.jp/edu/ProgramingJava/Event/top.html
762 デフォルトの名無しさん sage 2021/04/12(月) 09:17:17.08 ID:yZXPyOt1
イベントドリブンは省エネ
メインループをずっと繰り返すというのはアンチパターン
特にスマホなんかだと、そんな事するとあっという間にバッテリーが無くなる
769デフォルトの名無しさん
2021/04/12(月) 10:10:52.76ID:A3OoULtt >>768
これは比較的俺が言っていたのに似ているね
まぁ普通のアプリの場合(何を持って普通というのかはアレだけども)、
あんまし画面描写関係ないなら
処理単位でのループだし、さっき言った落とし穴にもはまらないからいいと思うよ
これは比較的俺が言っていたのに似ているね
まぁ普通のアプリの場合(何を持って普通というのかはアレだけども)、
あんまし画面描写関係ないなら
処理単位でのループだし、さっき言った落とし穴にもはまらないからいいと思うよ
770デフォルトの名無しさん
2021/04/12(月) 10:33:08.50ID:AGjFdU+p チンポから力を抜く、チンポに力を入れるという体内の『イベント』により、
>『アクション』を事前に登録していただければ、『イベント』の発生を監視し
オシッコを出す、オシッコを止めるという体外の『アクション』に繋げられる!
・・・我流なので、異論があれば何なりと!
>『アクション』を事前に登録していただければ、『イベント』の発生を監視し
オシッコを出す、オシッコを止めるという体外の『アクション』に繋げられる!
・・・我流なので、異論があれば何なりと!
771デフォルトの名無しさん
2021/04/12(月) 10:51:42.72ID:yZXPyOt1772デフォルトの名無しさん
2021/04/12(月) 10:53:49.34ID:yZXPyOt1 >>768
> 左側の太い線で書いたループはイベントループと呼ばれ、発生するイベントを常に監視しています。
メインループとイベントループをごっちゃにするな
イベントループはイベント(マウスボタン押下など)が発生しない限り何もせず休んでいる
ゲームのメインループは、一定間でボタンの状態をスキャンしている
全く別のものだ
> 左側の太い線で書いたループはイベントループと呼ばれ、発生するイベントを常に監視しています。
メインループとイベントループをごっちゃにするな
イベントループはイベント(マウスボタン押下など)が発生しない限り何もせず休んでいる
ゲームのメインループは、一定間でボタンの状態をスキャンしている
全く別のものだ
773デフォルトの名無しさん
2021/04/12(月) 10:55:32.60ID:yZXPyOt1 しかもそこに書いているな
> 左側の太い線で書いたループはイベントループと呼ばれ、発生するイベントを常に監視しています。
> そして、ユーザがマウスを押したり、キーを押したりして何らかのイベントが発生すると、それに対応する処理を呼び出します。
> 各処理は自分の仕事が終わると再びイベントループに戻り、次のイベントを監視します。
ユーザがマウスを押したり、キーを押したりして何らかのイベントが発生すると、それに対応する処理を呼び出します。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> GUI部品に対してのこれらのイベントを自分で処理する必要はほとんどありません。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> マウスやキーボードを自分で処理する必要があるのは、アプレットやキャンバス上で発生したイベントについてだけです。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 左側の太い線で書いたループはイベントループと呼ばれ、発生するイベントを常に監視しています。
> そして、ユーザがマウスを押したり、キーを押したりして何らかのイベントが発生すると、それに対応する処理を呼び出します。
> 各処理は自分の仕事が終わると再びイベントループに戻り、次のイベントを監視します。
ユーザがマウスを押したり、キーを押したりして何らかのイベントが発生すると、それに対応する処理を呼び出します。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> GUI部品に対してのこれらのイベントを自分で処理する必要はほとんどありません。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> マウスやキーボードを自分で処理する必要があるのは、アプレットやキャンバス上で発生したイベントについてだけです。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
774デフォルトの名無しさん
2021/04/12(月) 10:59:41.18ID:A3OoULtt775デフォルトの名無しさん
2021/04/12(月) 11:02:43.20ID:A3OoULtt カタワ指向君大ハッスルで草
776デフォルトの名無しさん
2021/04/12(月) 11:05:06.27ID:yZXPyOt1 >>767
> リアクティブプログラミングの話かな?
ぜんぜん違う。
リアクティブプログラミングはマウス等のイベントの発生をきっかけに
処理がすすんでいく(マウス等のイベントに対してイベントハンドラを設定する)
ゲーム脳が言ってるやつは、マウスのイベントではなく一定時間ごとに
自分でマウスの状態をスキャンする。タイマーがイベントとも言えるが
普通のUIはタイマーをイベントにしない。
マウスのイベントをトリガーとすればマウス操作で即座に反応できるが
しかしタイマーをイベントとしてマウスの状態をスキャンする場合
即座に反応させるためには、短い間隔のタイマーを設置しなければいけない
しかも精度の高いリアルタイムタイマーでなければならない
リアクティブプログラミングでリアルタイムタイマーをサポートしているライブラリは
おそらくないだろう。だからゲームではリアクティブプログラミングは使えず
イベントドリブンではない旧来のメインループを使うという特殊なプログラム技法を使っている
完全に概念が別なんだわ。
> リアクティブプログラミングの話かな?
ぜんぜん違う。
リアクティブプログラミングはマウス等のイベントの発生をきっかけに
処理がすすんでいく(マウス等のイベントに対してイベントハンドラを設定する)
ゲーム脳が言ってるやつは、マウスのイベントではなく一定時間ごとに
自分でマウスの状態をスキャンする。タイマーがイベントとも言えるが
普通のUIはタイマーをイベントにしない。
マウスのイベントをトリガーとすればマウス操作で即座に反応できるが
しかしタイマーをイベントとしてマウスの状態をスキャンする場合
即座に反応させるためには、短い間隔のタイマーを設置しなければいけない
しかも精度の高いリアルタイムタイマーでなければならない
リアクティブプログラミングでリアルタイムタイマーをサポートしているライブラリは
おそらくないだろう。だからゲームではリアクティブプログラミングは使えず
イベントドリブンではない旧来のメインループを使うという特殊なプログラム技法を使っている
完全に概念が別なんだわ。
777デフォルトの名無しさん
2021/04/12(月) 11:05:48.18ID:yZXPyOt1778デフォルトの名無しさん
2021/04/12(月) 11:15:38.40ID:o1bf8P7D イベントと状態を区別して整理できてないから落とし穴にハマってるだけだな
結局オブジェクト指向とは関係ない
結局オブジェクト指向とは関係ない
779デフォルトの名無しさん
2021/04/12(月) 11:18:09.51ID:yZXPyOt1 参考と言えるほどのものではないが
ゲーム開発と一般的なアプリケーション開発の違いについて
https://qiita.com/sawasaka/items/288c745b48328e76ca66#%E3%81%AA%E3%81%9C%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%AB%E3%83%BC%E3%83%97%E3%82%92%E4%BD%9C%E3%82%8B%E3%81%8B
決定的な違い
一般的なアプリケーションはイベント駆動型で
ボタンを押したり、メニューを選択した時などのアクションが発生した際に処理を行う。
ゲームは終了するまで永久に回り続けるメインループを作り
ループ内でアクションの発生を確認し、それに応じて処理を行う。
ゲーム開発と一般的なアプリケーション開発の違いについて
https://qiita.com/sawasaka/items/288c745b48328e76ca66#%E3%81%AA%E3%81%9C%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%AB%E3%83%BC%E3%83%97%E3%82%92%E4%BD%9C%E3%82%8B%E3%81%8B
決定的な違い
一般的なアプリケーションはイベント駆動型で
ボタンを押したり、メニューを選択した時などのアクションが発生した際に処理を行う。
ゲームは終了するまで永久に回り続けるメインループを作り
ループ内でアクションの発生を確認し、それに応じて処理を行う。
780デフォルトの名無しさん
2021/04/12(月) 11:21:13.76ID:Ggr3enQ8 >>776
横からだが、イベントってのはそもそも言語やフレームワークやOSの機能だから、まずはそこを定義してないから話が噛み合わないんじゃないのか?
低レベルの部分ではハードウェア割り込みやポーリングは必要だし、キーバッファだってあるわけだから、組み込み系だったりそういうレベルでコーディングしてる人からしたらイメージしにくいのかも
横からだが、イベントってのはそもそも言語やフレームワークやOSの機能だから、まずはそこを定義してないから話が噛み合わないんじゃないのか?
低レベルの部分ではハードウェア割り込みやポーリングは必要だし、キーバッファだってあるわけだから、組み込み系だったりそういうレベルでコーディングしてる人からしたらイメージしにくいのかも
781デフォルトの名無しさん
2021/04/12(月) 11:22:51.88ID:yZXPyOt1782デフォルトの名無しさん
2021/04/12(月) 11:28:26.35ID:A3OoULtt■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★5 [ぐれ★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★6 [BFU★]
- 中国側が首相答弁の撤回要求、日本側拒否★2 [夜のけいちゃん★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 日本人にゲームでキャラメイクさせると鼻が棒みたいになるよな 異常に小鼻を憎んでるよなキモオタって [817148728]
- 鈴木農水大臣「コメの価格が上がってるのは新米に切り替わったからです」 [256556981]
- ホテル業界、高市のせいで中国から大量キャンセル 「大変厳しい状態。一刻も早い収束を願います」 [271912485]
- 【正論】玉木雄一郎「高市さんの答弁は米軍が攻撃を受けた場合を前提としており、撤回するのは難しい」特定野党を完全論破 [519511584]
- 麻生太郎氏、高市政権と距離を置きはじめる(´・ω・`) [399259198]
- んなり放題🍬のお🏡
