オブジェクト指向について、調べれば調べるほど疑問が募ります。低レベルで粗末な疑問かも知れませんが、ご教授願いたいです。
・データと振る舞いをまとめる?
まとめると何か良いことあるの?
ファイルあるいはモジュールにはまとまってるよね?
丁度いい単位があるのに、何故わざわざオブジェクトという概念を導入するの?
(Javaには1ファイル1クラスという文化あるらしいけど)
・カプセル化?
モジュールのimport, exportでも実現出来るよね?
(構造体などへのアクセスを制限できれば)
・ポリモーフィズム?
別にデータと振る舞いをまとめなくても実現出来るよね?
・モノのように扱いたい?
モノとして扱いたいときに扱えば良くない? なんでわざわざ全てをオブジェクトにするの?
探検
オブジェクト指向を教えてくれ!
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2021/03/16(火) 17:06:02.41ID:VhqTt897773デフォルトの名無しさん
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:A3OoULtt783デフォルトの名無しさん
2021/04/12(月) 11:28:42.99ID:AGjFdU+p ?
>>772
>イベントループはイベント(マウスボタン押下など)が発生しない限り何もせず休んでいる
プログラムは,イベントに対する処理内容をコールバック関数で動作した後,イベントループと呼ばれる無限ループに動作が移る
この無限ループで,イベントの監視と,それに対応する処理を永遠行う
https://qiita.com/twipg/items/8f2a00354f6159cd1a5a
>>772
>イベントループはイベント(マウスボタン押下など)が発生しない限り何もせず休んでいる
プログラムは,イベントに対する処理内容をコールバック関数で動作した後,イベントループと呼ばれる無限ループに動作が移る
この無限ループで,イベントの監視と,それに対応する処理を永遠行う
https://qiita.com/twipg/items/8f2a00354f6159cd1a5a
784デフォルトの名無しさん
2021/04/12(月) 11:29:39.47ID:yZXPyOt1785デフォルトの名無しさん
2021/04/12(月) 11:32:46.54ID:yZXPyOt1 >>782
割り込みとイベントは似てるようで違う
割り込みは他の割り込みをブロックしないように短時間でその処理を終えなければいけない
イベントはそうではない。時間がかかる処理を行ってもいい。
その間に割り込みがブロックされることはない。処理するレイヤーが全く違っている。
割り込みとイベントは似てるようで違う
割り込みは他の割り込みをブロックしないように短時間でその処理を終えなければいけない
イベントはそうではない。時間がかかる処理を行ってもいい。
その間に割り込みがブロックされることはない。処理するレイヤーが全く違っている。
786デフォルトの名無しさん
2021/04/12(月) 11:56:09.87ID:AGjFdU+p 動作アプリと静止アプリという程度の違いと思われるが、
>>779
>ゲーム開発と一般的なアプリケーション開発の違いについて
調査機関IBISWorldの調査によれば、企業がERPソフトウエアに支払う費用は2012年以来、1年につきほぼ
2パーセント減少してきています。同社は、顧客が今日ERPのソフトウエア・ライセンスに支払うと予測される
平均価格は1ユーザー、1年について約$1,911と言います。さらに、この先3年間、ERPソフトウエアの価格にプレッシャーが
掛かり続けて下落し、2018年迄に年間ライセンス料は1ユーザーにつき平均$1,800まで下がると予測しています。
https://www.e-bellnet.com/category/jungle/1512/1512-829.html
↑
ワードやエクセルも含めて、事務処理用の静止アプリは、年々衰退しつつあるのでは?
>>779
>ゲーム開発と一般的なアプリケーション開発の違いについて
調査機関IBISWorldの調査によれば、企業がERPソフトウエアに支払う費用は2012年以来、1年につきほぼ
2パーセント減少してきています。同社は、顧客が今日ERPのソフトウエア・ライセンスに支払うと予測される
平均価格は1ユーザー、1年について約$1,911と言います。さらに、この先3年間、ERPソフトウエアの価格にプレッシャーが
掛かり続けて下落し、2018年迄に年間ライセンス料は1ユーザーにつき平均$1,800まで下がると予測しています。
https://www.e-bellnet.com/category/jungle/1512/1512-829.html
↑
ワードやエクセルも含めて、事務処理用の静止アプリは、年々衰退しつつあるのでは?
787デフォルトの名無しさん
2021/04/12(月) 12:12:55.21ID:LRhqKPdk クズ同士のマウント合戦で糞スレ上げるなよ
788デフォルトの名無しさん
2021/04/12(月) 12:13:10.74ID:G4m+DR25 スゲーな
俺も含めてだけど
ゲーム脳指向
チンポシコシコ指向
カタワ指向と
基地外がよりどりみどりだわw
俺も含めてだけど
ゲーム脳指向
チンポシコシコ指向
カタワ指向と
基地外がよりどりみどりだわw
789デフォルトの名無しさん
2021/04/12(月) 12:25:30.01ID:yZXPyOt1790デフォルトの名無しさん
2021/04/12(月) 12:47:01.64ID:AGjFdU+p https://youtu.be/08W9VWUdkjI
NHKの子供向け番組で、突然ど下ネタがぶっこまれる事案が発生「NHKから怒られる」「受信料払うことにした」
https://togetter.com/li/1075927
>>631
>オブジェクト志向に関する議論において、
>「シコシコ」という言葉を恣意的に使って
『シコシコシコシコしこランド!』って、問題になったらしいぞ?
NHKの子供向け番組で、突然ど下ネタがぶっこまれる事案が発生「NHKから怒られる」「受信料払うことにした」
https://togetter.com/li/1075927
>>631
>オブジェクト志向に関する議論において、
>「シコシコ」という言葉を恣意的に使って
『シコシコシコシコしこランド!』って、問題になったらしいぞ?
791デフォルトの名無しさん
2021/04/12(月) 12:48:08.65ID:A3OoULtt >>786
Switchや新型XBOXの売れ行きが好調なのと
スマホのソーシャルゲーム系がそこそこ行けてるからね
家電量販店辺り行くとLiteでないSwitch、XBOXのXシリーズ辺りは慢性的に品切れだよ
PS5はたまに売ってるけど、それでもこれも慢性的に品切れと言えるね
ただPS5は逆鞘なのでソフトが出ないと売れれば売れるほど損失が出るからソフトが揃うの待ち
CS業界ではSwitchが出てからずっと好調かな
カタワ指向君が言う通りゲーム脳だからこのくらいのことは即答出来るよ
Switchや新型XBOXの売れ行きが好調なのと
スマホのソーシャルゲーム系がそこそこ行けてるからね
家電量販店辺り行くとLiteでないSwitch、XBOXのXシリーズ辺りは慢性的に品切れだよ
PS5はたまに売ってるけど、それでもこれも慢性的に品切れと言えるね
ただPS5は逆鞘なのでソフトが出ないと売れれば売れるほど損失が出るからソフトが揃うの待ち
CS業界ではSwitchが出てからずっと好調かな
カタワ指向君が言う通りゲーム脳だからこのくらいのことは即答出来るよ
792デフォルトの名無しさん
2021/04/12(月) 13:13:14.41ID:AGjFdU+p793デフォルトの名無しさん
2021/04/12(月) 13:29:08.92ID:AGjFdU+p ゲーム脳というが、ゲームに例えるとプログラミングがわかりやすくなる!
静的変数(コンティニュー可)
例 ドラゴンクエスト
自動変数(コンティニュー不可)
例 テトリス
静的変数(コンティニュー可)
例 ドラゴンクエスト
自動変数(コンティニュー不可)
例 テトリス
794デフォルトの名無しさん
2021/04/12(月) 13:36:26.09ID:yZXPyOt1 オブジェクト指向と関係ない話を始めた理由は、みなさんわかりますよね?w
795デフォルトの名無しさん
2021/04/12(月) 13:44:35.85ID:G4m+DR25 みなさんて誰?
ここには基地外しかいないが
ここには基地外しかいないが
796デフォルトの名無しさん
2021/04/12(月) 18:28:56.46ID:XB1ybHa5 なんかよくわかってないというかそもそもスマホの“OS”レベルの動作から知らない人がいるっぽいんだけど
iOSなんかはWindowsCEとかのクソ遅いアプリレスポンスを反面教師として設計されたから
OSが画面タッチをOSの最優先処理として監視しているので毎秒何フレームとかいうレベルじゃなくて
触れた瞬間に最優先割り込みが起動して、画面のその場所のパーツレイヤーに重ね順番に沿って即座に
「この場所のオブジェクト!タッチイベントに反応できる?する?」ってリクエストが飛ぶ仕組みなんだけど…
全画面をスプライトとか扱うゲームキットレイヤで覆えば
ゲームキット側で「オーケーあとはうちで」ともできるし
可視、不可視ボタンオブジェクト置いといてそっちでイベントフックしてもいいし
それはアプリ設計側の自由だし。
また、逆に「割り込み」ってCPUレベルの機能知らないなら書いておくけど
「割り込み」はメインループが回ってようがリクエストが来た瞬間に
メイン処理を棚上げにして、割り込みで割り当てられた処理を優先するハードウェア機能ね。
アプリどころかOSの処理に画面タッチ関連が最優先割り込み指定されてるの。
iOSなんかはWindowsCEとかのクソ遅いアプリレスポンスを反面教師として設計されたから
OSが画面タッチをOSの最優先処理として監視しているので毎秒何フレームとかいうレベルじゃなくて
触れた瞬間に最優先割り込みが起動して、画面のその場所のパーツレイヤーに重ね順番に沿って即座に
「この場所のオブジェクト!タッチイベントに反応できる?する?」ってリクエストが飛ぶ仕組みなんだけど…
全画面をスプライトとか扱うゲームキットレイヤで覆えば
ゲームキット側で「オーケーあとはうちで」ともできるし
可視、不可視ボタンオブジェクト置いといてそっちでイベントフックしてもいいし
それはアプリ設計側の自由だし。
また、逆に「割り込み」ってCPUレベルの機能知らないなら書いておくけど
「割り込み」はメインループが回ってようがリクエストが来た瞬間に
メイン処理を棚上げにして、割り込みで割り当てられた処理を優先するハードウェア機能ね。
アプリどころかOSの処理に画面タッチ関連が最優先割り込み指定されてるの。
797デフォルトの名無しさん
2021/04/12(月) 19:08:50.10ID:FHLyrm59 >>796
わかってないのはお前でどのOSもタッチとか割り込みで処理されてるの
ゲームが例外でタッチが割り込みで処理されてるにもかからわず
毎秒何フレームのポーリングで処理するんだよ
そもそも毎秒何フレームとかいう考え方自体がゲーム特有で
1秒間に何回も画面を書き換えてるの(もちろん工夫して書き換える量を減らしてる)
その書き換えのタイミングで(割り込み)ではなくタッチの状態をスキャンしてるんだよ
ゲームは基本的に何も触らなくても画面が書き換わるし
割り込みが発生時でやる処理によってタイミングがずれるのは困るから
割り込みで正確にタイミングを測るのが難しい。だからOSやハードウェアでは
割り込みを持っていたとしても、それを使わない(正確に言えば状態を更新するだけ)で
あと毎秒何フレームのメインループで処理するんだよ
わかってないのはお前でどのOSもタッチとか割り込みで処理されてるの
ゲームが例外でタッチが割り込みで処理されてるにもかからわず
毎秒何フレームのポーリングで処理するんだよ
そもそも毎秒何フレームとかいう考え方自体がゲーム特有で
1秒間に何回も画面を書き換えてるの(もちろん工夫して書き換える量を減らしてる)
その書き換えのタイミングで(割り込み)ではなくタッチの状態をスキャンしてるんだよ
ゲームは基本的に何も触らなくても画面が書き換わるし
割り込みが発生時でやる処理によってタイミングがずれるのは困るから
割り込みで正確にタイミングを測るのが難しい。だからOSやハードウェアでは
割り込みを持っていたとしても、それを使わない(正確に言えば状態を更新するだけ)で
あと毎秒何フレームのメインループで処理するんだよ
798デフォルトの名無しさん
2021/04/12(月) 19:41:23.31ID:iOiHPkVC 割り込みはデバイスドライバがやるので
その情報は漏れなくOSに伝わってる
格闘ゲームとかコントローラの操作で入力が
反映されないのは何かの性能が悪いから
ネットゲームはメインのプログラムがサーバー上にあるので
それの作り次第
たくさん人がいると本当のリアルタイムのような
ことは難しくなる
その情報は漏れなくOSに伝わってる
格闘ゲームとかコントローラの操作で入力が
反映されないのは何かの性能が悪いから
ネットゲームはメインのプログラムがサーバー上にあるので
それの作り次第
たくさん人がいると本当のリアルタイムのような
ことは難しくなる
799デフォルトの名無しさん
2021/04/12(月) 19:53:28.93ID:wo2ZdM5G >>798
そういう話じゃないんだよね。
割り込み(イベント)はメインの処理をしてるときに割り込まれてくるだから割り込み
ゲームに置いてメインの処理として画面描画を行っている
このときに割り込みが入って、そこですぐにプレイキャラを動かしたりしたら問題があるんだよ
例えばプレイヤーが連射なんかしたら、割り込みが入る分、画面描画が遅れてしまう
割り込みのほうが優先だからね
だから逆に画面描画のタイミングでバランスを取って、そのタイミングでボタンが押されていれば
それに応じた処理をするという設計になってる
そういう話じゃないんだよね。
割り込み(イベント)はメインの処理をしてるときに割り込まれてくるだから割り込み
ゲームに置いてメインの処理として画面描画を行っている
このときに割り込みが入って、そこですぐにプレイキャラを動かしたりしたら問題があるんだよ
例えばプレイヤーが連射なんかしたら、割り込みが入る分、画面描画が遅れてしまう
割り込みのほうが優先だからね
だから逆に画面描画のタイミングでバランスを取って、そのタイミングでボタンが押されていれば
それに応じた処理をするという設計になってる
800デフォルトの名無しさん
2021/04/12(月) 19:57:14.46ID:XB1ybHa5 OSが無い大昔のPCゲーやアーケードでもなきゃ
OSが割り込み取ってゲームキットに伝えてるってのに
そのOSからの「いま入力来たで!」を非同期的に受け取ってるアプリ側から
「ゲームアプリはフレームごとにメインループ処理してんだよ」って…
あの…別にゲームは30とか60とかそんな「遅い」反応しなくてもいいんですよ?
OSが割り込み取ってゲームキットに伝えてるってのに
そのOSからの「いま入力来たで!」を非同期的に受け取ってるアプリ側から
「ゲームアプリはフレームごとにメインループ処理してんだよ」って…
あの…別にゲームは30とか60とかそんな「遅い」反応しなくてもいいんですよ?
801デフォルトの名無しさん
2021/04/12(月) 19:57:40.11ID:A3OoULtt >>796
ふーんスマホではタッチが最優先割込みになるんだ
たださっきメインループとか雑な説明のリンクをカタワ指向君が貼っててそういうもんだとみんな錯覚しているかも知れないけど、
そういう仕組みにすることもあればタイマで起動時間を区切ってその間隔単位で処理することもあれば
画面上を走査線が走り終わったタイミングの割込みを見ることもあるんだよ。
上の二つはともかく、走査線の割込みについては
俺はてっきり画面系の割込みが最優先だと思ってて
まぁハードウェアによってそういうこともあるのかなと思ってちょっと調べてみたけど
https://ja.m.wikipedia.org/wiki/割り込み_(コンピュータ)
これ見てるとやっぱり走査線の割込みが優先順位高いみたいだね。
IiPgone辺りはCPU、ARMじゃなかったっけ?
まぁスマホという枠を外れればキー割込み自体が存在しないハードがあることも考えればそれも納得なんだけれどね。
まぁメインループとか言ってる方式は言わずもがな、タイマによる割込みはソフトウェア割込みだからそこではタッチ割り込みが優先されるよ
ドンマイ!
ふーんスマホではタッチが最優先割込みになるんだ
たださっきメインループとか雑な説明のリンクをカタワ指向君が貼っててそういうもんだとみんな錯覚しているかも知れないけど、
そういう仕組みにすることもあればタイマで起動時間を区切ってその間隔単位で処理することもあれば
画面上を走査線が走り終わったタイミングの割込みを見ることもあるんだよ。
上の二つはともかく、走査線の割込みについては
俺はてっきり画面系の割込みが最優先だと思ってて
まぁハードウェアによってそういうこともあるのかなと思ってちょっと調べてみたけど
https://ja.m.wikipedia.org/wiki/割り込み_(コンピュータ)
これ見てるとやっぱり走査線の割込みが優先順位高いみたいだね。
IiPgone辺りはCPU、ARMじゃなかったっけ?
まぁスマホという枠を外れればキー割込み自体が存在しないハードがあることも考えればそれも納得なんだけれどね。
まぁメインループとか言ってる方式は言わずもがな、タイマによる割込みはソフトウェア割込みだからそこではタッチ割り込みが優先されるよ
ドンマイ!
802デフォルトの名無しさん
2021/04/12(月) 19:59:52.02ID:iOiHPkVC ゲームプログラムが割り込み受ける仕組みがあるのか
それは知らなかったな
何というクラスで受け取ってるの?
デバイスドライバから直で?
それは知らなかったな
何というクラスで受け取ってるの?
デバイスドライバから直で?
803デフォルトの名無しさん
2021/04/12(月) 20:14:09.37ID:wo2ZdM5G804デフォルトの名無しさん
2021/04/12(月) 20:18:58.60ID:AGjFdU+p ところでイベントループが休んでいる時に、どうやってイベントログをリアルタイムで監視するんだ?
集中管理するログデータの安全性確保、データの有効活用のための効果的な対策が求められます。
そのためには、リアルタイムで問題や予兆を管理者が知ることのできる仕組みも必要です。たとえばWindows
イベントログのひとつであるセキュリティログを監視することにより、
ネットワーク経由の異常なアクセスやアクセス許可のないデータへのアクセス試行を検知し、
大事に至る前に追跡・対策することが可能となります。
https://www.manageengine.jp/products/EventLog_Analyzer/windows-event-log-monitoring.html
772 デフォルトの名無しさん sage 2021/04/12(月) 10:53:49.34 ID:yZXPyOt1
>>768
> 左側の太い線で書いたループはイベントループと呼ばれ、発生するイベントを常に監視しています。
メインループとイベントループをごっちゃにするな
イベントループはイベント(マウスボタン押下など)が発生しない限り何もせず休んでいる
ゲームのメインループは、一定間でボタンの状態をスキャンしている
全く別のものだ
集中管理するログデータの安全性確保、データの有効活用のための効果的な対策が求められます。
そのためには、リアルタイムで問題や予兆を管理者が知ることのできる仕組みも必要です。たとえばWindows
イベントログのひとつであるセキュリティログを監視することにより、
ネットワーク経由の異常なアクセスやアクセス許可のないデータへのアクセス試行を検知し、
大事に至る前に追跡・対策することが可能となります。
https://www.manageengine.jp/products/EventLog_Analyzer/windows-event-log-monitoring.html
772 デフォルトの名無しさん sage 2021/04/12(月) 10:53:49.34 ID:yZXPyOt1
>>768
> 左側の太い線で書いたループはイベントループと呼ばれ、発生するイベントを常に監視しています。
メインループとイベントループをごっちゃにするな
イベントループはイベント(マウスボタン押下など)が発生しない限り何もせず休んでいる
ゲームのメインループは、一定間でボタンの状態をスキャンしている
全く別のものだ
805デフォルトの名無しさん
2021/04/12(月) 20:29:26.92ID:wo2ZdM5G > ところでイベントループが休んでいる時に、どうやってイベントログをリアルタイムで監視するんだ?
マルチタスクOSって知ってる?
ゲーム脳だから、実行中のプロセスは一つだけという前提なのか?w
マルチタスクOSって知ってる?
ゲーム脳だから、実行中のプロセスは一つだけという前提なのか?w
806デフォルトの名無しさん
2021/04/12(月) 20:29:44.51ID:iOiHPkVC イベントログはポーリングするapiみたいなのがある
例えばプロセスが起動したら教えてくれる
例えばプロセスが起動したら教えてくれる
807デフォルトの名無しさん
2021/04/12(月) 21:01:58.55ID:AGjFdU+p 『実行中のプロセス』がいくつあろうが、マウスクリックへの反応が後回しになるんか???
805 デフォルトの名無しさん sage 2021/04/12(月) 20:29:26.92 ID:wo2ZdM5G
> ところでイベントループが休んでいる時に、どうやってイベントログをリアルタイムで監視するんだ?
マルチタスクOSって知ってる?
ゲーム脳だから、実行中のプロセスは一つだけという前提なのか?w
805 デフォルトの名無しさん sage 2021/04/12(月) 20:29:26.92 ID:wo2ZdM5G
> ところでイベントループが休んでいる時に、どうやってイベントログをリアルタイムで監視するんだ?
マルチタスクOSって知ってる?
ゲーム脳だから、実行中のプロセスは一つだけという前提なのか?w
808デフォルトの名無しさん
2021/04/12(月) 21:13:57.67ID:Ggr3enQ8 >>803
最近のゲームは描画ループとゲームループは分かれてること多くてな、内部的には120とか240で回してたりすることもあるんよ
ちなみにむかしのゲームはvブランク割り込みって言うやつに同期してることが多いからゲームループは60とか50だったりする
最近のゲームは描画ループとゲームループは分かれてること多くてな、内部的には120とか240で回してたりすることもあるんよ
ちなみにむかしのゲームはvブランク割り込みって言うやつに同期してることが多いからゲームループは60とか50だったりする
809デフォルトの名無しさん
2021/04/12(月) 21:19:41.60ID:2nuKPDwB お前らオブジェクト指向の話見失ってない?
いつまでゲームプログラムの実装の話してるの?
いつまでゲームプログラムの実装の話してるの?
810デフォルトの名無しさん
2021/04/12(月) 21:19:50.40ID:AGjFdU+p >>808
>最近のゲームは描画ループとゲームループは分かれてること多くてな、
そのために『死亡ラグ』が起こってしまうらしいね!
>自分がいつ死んでいるのか分からず突然死んで突然画面が切り替わってしまう。
サーバー側のバトルシステムと、プレイヤー側の描画システムが乖離してる!
>最近のゲームは描画ループとゲームループは分かれてること多くてな、
そのために『死亡ラグ』が起こってしまうらしいね!
>自分がいつ死んでいるのか分からず突然死んで突然画面が切り替わってしまう。
サーバー側のバトルシステムと、プレイヤー側の描画システムが乖離してる!
811デフォルトの名無しさん
2021/04/12(月) 21:30:03.94ID:wo2ZdM5G812デフォルトの名無しさん
2021/04/12(月) 21:30:38.33ID:o1bf8P7D アプリのレイヤーから見れば
iOSならRunloop、AndroidならLooperでイベントループ回して
ループ単位でUIイベント処理してるんだから考え方は一緒なんだよなぁ
画面タッチでハードウェア割り込みが発生しようが
それによってアプリの処理が直接割り込まれるわけじゃなくて
アプリのイベントループ内でチェックするイベントキューにメッセージが送られるだけ
イベントキューをチェックするフェーズが過ぎてからイベントが発生したら次のイテレーションに回される
ゲームはタイミングコントロールのためにゲームループを一定時間で回すものが多いけど
それもイベントループという意味では同じ
iOSならRunloop、AndroidならLooperでイベントループ回して
ループ単位でUIイベント処理してるんだから考え方は一緒なんだよなぁ
画面タッチでハードウェア割り込みが発生しようが
それによってアプリの処理が直接割り込まれるわけじゃなくて
アプリのイベントループ内でチェックするイベントキューにメッセージが送られるだけ
イベントキューをチェックするフェーズが過ぎてからイベントが発生したら次のイテレーションに回される
ゲームはタイミングコントロールのためにゲームループを一定時間で回すものが多いけど
それもイベントループという意味では同じ
813デフォルトの名無しさん
2021/04/12(月) 21:30:56.96ID:wo2ZdM5G >>810
一人で空回りしてるとこ悪いけど、オンラインゲームの話はしてないからw
一人で空回りしてるとこ悪いけど、オンラインゲームの話はしてないからw
814デフォルトの名無しさん
2021/04/12(月) 21:32:22.27ID:wo2ZdM5G >>812
> ゲームはタイミングコントロールのためにゲームループを一定時間で回すものが多いけど
> それもイベントループという意味では同じ
違うのはループじゃなくて、ボタンの話だよ
アプリはボタンが押された時のイベントに応じて処理を行う
ゲームはループの中でボタンの状態を検知して処理を行う
> ゲームはタイミングコントロールのためにゲームループを一定時間で回すものが多いけど
> それもイベントループという意味では同じ
違うのはループじゃなくて、ボタンの話だよ
アプリはボタンが押された時のイベントに応じて処理を行う
ゲームはループの中でボタンの状態を検知して処理を行う
815デフォルトの名無しさん
2021/04/12(月) 21:36:13.24ID:A3OoULtt >>808
>ちなみにむかしのゲームはvブランク割り込みって言うやつに同期してることが多いからゲームループは60とか50だったりする
なーんか遠い昔vblankと言うのはあった気が・・・
ゲームボーイだっけ?
>ちなみにむかしのゲームはvブランク割り込みって言うやつに同期してることが多いからゲームループは60とか50だったりする
なーんか遠い昔vblankと言うのはあった気が・・・
ゲームボーイだっけ?
816デフォルトの名無しさん
2021/04/12(月) 21:48:52.33ID:hU41fQqw スレ違いや板違いの書き込みをするやつは詳しいやつがいないと見込んで調子に乗っている卑怯者の荒らし
そんなのが何回真っ赤になって書き込んでいるんだ情けない
そんなのが何回真っ赤になって書き込んでいるんだ情けない
817デフォルトの名無しさん
2021/04/12(月) 21:58:50.78ID:A3OoULtt >>816
全くだよね
全くだよね
818デフォルトの名無しさん
2021/04/12(月) 21:59:27.66ID:o1bf8P7D >>814
>ゲームはループの中でボタンの状態を検知して処理を行う
アプリが直接ハードウェアの状態チェックするようなコードを今どき本当に書いてる?
少なくともモバイルアプリならボタンイベントを受け取ってそれを処理する
コンソールゲームでも一緒じゃないの?
そのレベルの抽象化すらされてなくてゲームごとに実装しなきゃいけないってかなり昔の話に聞こえる
>ゲームはループの中でボタンの状態を検知して処理を行う
アプリが直接ハードウェアの状態チェックするようなコードを今どき本当に書いてる?
少なくともモバイルアプリならボタンイベントを受け取ってそれを処理する
コンソールゲームでも一緒じゃないの?
そのレベルの抽象化すらされてなくてゲームごとに実装しなきゃいけないってかなり昔の話に聞こえる
819デフォルトの名無しさん
2021/04/12(月) 22:00:02.81ID:wo2ZdM5G 自覚があるようだw
820デフォルトの名無しさん
2021/04/12(月) 22:00:08.60ID:o1bf8P7D モバイルアプリってモバイルのゲームね
821デフォルトの名無しさん
2021/04/12(月) 22:02:29.09ID:wo2ZdM5G822デフォルトの名無しさん
2021/04/12(月) 22:03:00.32ID:AGjFdU+p するとスマホのタッチとパソコンのマウスクリックは違うのか?
>>796
>アプリどころかOSの処理に画面タッチ関連が最優先割り込み指定されてるの。
その辺は俺もあまり自信無いなぁ・・・
1.4. 割り込み Interrupt
割り込みとは、CPUが受けとる緊急の処理要求信号である。
割り込みは、割り込み要求信号線と割り込みハンドラプログラムの開始番地からなる。
(割り込みに種類があるときは、開始番号もそれぞれ決めておく。ベクタ割り込みという。)
CPUの割込み要求信号線(IRQ = Interrupt ReQuest)に信号が発生すると
現在実行中のプログラムを(ほんのわずかの時間だけ)中断して、緊急に(割り込んで)、
対応するプログラム(割り込みハンドラ)を実行する。
http://www.cs.gunma-u.ac.jp/~nakano/OS16/intro.html
785 デフォルトの名無しさん sage 2021/04/12(月) 11:32:46.54 ID:yZXPyOt1
>>782
割り込みとイベントは似てるようで違う
割り込みは他の割り込みをブロックしないように短時間でその処理を終えなければいけない
イベントはそうではない。時間がかかる処理を行ってもいい。
その間に割り込みがブロックされることはない。処理するレイヤーが全く違っている。
>>796
>アプリどころかOSの処理に画面タッチ関連が最優先割り込み指定されてるの。
その辺は俺もあまり自信無いなぁ・・・
1.4. 割り込み Interrupt
割り込みとは、CPUが受けとる緊急の処理要求信号である。
割り込みは、割り込み要求信号線と割り込みハンドラプログラムの開始番地からなる。
(割り込みに種類があるときは、開始番号もそれぞれ決めておく。ベクタ割り込みという。)
CPUの割込み要求信号線(IRQ = Interrupt ReQuest)に信号が発生すると
現在実行中のプログラムを(ほんのわずかの時間だけ)中断して、緊急に(割り込んで)、
対応するプログラム(割り込みハンドラ)を実行する。
http://www.cs.gunma-u.ac.jp/~nakano/OS16/intro.html
785 デフォルトの名無しさん sage 2021/04/12(月) 11:32:46.54 ID:yZXPyOt1
>>782
割り込みとイベントは似てるようで違う
割り込みは他の割り込みをブロックしないように短時間でその処理を終えなければいけない
イベントはそうではない。時間がかかる処理を行ってもいい。
その間に割り込みがブロックされることはない。処理するレイヤーが全く違っている。
823デフォルトの名無しさん
2021/04/12(月) 22:04:06.73ID:wo2ZdM5G 話を元に戻すと、ゲームではこのボタンの状態をチェックするクラスが登場するわけさ
724 名前:デフォルトの名無しさん[sage] 投稿日:2021/04/11(日) 08:28:12.36 ID:CjAFb9gH [17/24]
> 「ボタンを押している状態」をクラス
ButtonPressedClass
> 「ボタンの状況」を把握するクラスを作ること
ButtonStateScannerClass
ぜんぜん違うだろ
724 名前:デフォルトの名無しさん[sage] 投稿日:2021/04/11(日) 08:28:12.36 ID:CjAFb9gH [17/24]
> 「ボタンを押している状態」をクラス
ButtonPressedClass
> 「ボタンの状況」を把握するクラスを作ること
ButtonStateScannerClass
ぜんぜん違うだろ
824デフォルトの名無しさん
2021/04/12(月) 22:06:58.46ID:wo2ZdM5G そして、ボタンを押してるか押してないかというのが
ボタンクラスの属性であって
「ボタンを押している状態」をクラスにするのはアホ
そして更にゲーム脳はこの話を聞いて
「ボタンの状況」を把握するクラスのことだと勘違いしてる
マヌケだろ
ボタンクラスの属性であって
「ボタンを押している状態」をクラスにするのはアホ
そして更にゲーム脳はこの話を聞いて
「ボタンの状況」を把握するクラスのことだと勘違いしてる
マヌケだろ
825デフォルトの名無しさん
2021/04/12(月) 22:09:24.16ID:A3OoULtt と言う言葉遊びを指摘されて
カタワ指向君は今朝から大ハッスルだったのさ
カタワ指向君は今朝から大ハッスルだったのさ
826デフォルトの名無しさん
2021/04/12(月) 22:12:44.39ID:wo2ZdM5G >>825
それはお前の感想ですよね
それはお前の感想ですよね
827デフォルトの名無しさん
2021/04/12(月) 22:19:52.28ID:AGjFdU+p おっと俺も間違い!
>>751
>イベントドリブンによる割り込み処理
アプリが直接ハードウェアの状態チェックする『割り込み』は違う!
812 デフォルトの名無しさん sage 2021/04/12(月) 21:30:38.33 ID:o1bf8P7D
アプリのレイヤーから見れば
iOSならRunloop、AndroidならLooperでイベントループ回して
ループ単位でUIイベント処理してるんだから考え方は一緒なんだよなぁ
画面タッチでハードウェア割り込みが発生しようが
それによってアプリの処理が直接割り込まれるわけじゃなくて
アプリのイベントループ内でチェックするイベントキューにメッセージが送られるだけ
イベントキューをチェックするフェーズが過ぎてからイベントが発生したら次のイテレーションに回される
ゲームはタイミングコントロールのためにゲームループを一定時間で回すものが多いけど
それもイベントループという意味では同じ
>>751
>イベントドリブンによる割り込み処理
アプリが直接ハードウェアの状態チェックする『割り込み』は違う!
812 デフォルトの名無しさん sage 2021/04/12(月) 21:30:38.33 ID:o1bf8P7D
アプリのレイヤーから見れば
iOSならRunloop、AndroidならLooperでイベントループ回して
ループ単位でUIイベント処理してるんだから考え方は一緒なんだよなぁ
画面タッチでハードウェア割り込みが発生しようが
それによってアプリの処理が直接割り込まれるわけじゃなくて
アプリのイベントループ内でチェックするイベントキューにメッセージが送られるだけ
イベントキューをチェックするフェーズが過ぎてからイベントが発生したら次のイテレーションに回される
ゲームはタイミングコントロールのためにゲームループを一定時間で回すものが多いけど
それもイベントループという意味では同じ
828デフォルトの名無しさん
2021/04/12(月) 22:22:33.21ID:wo2ZdM5G >827
アプリがハードウェアの状態をチェックするなら割り込みじゃないよ
まったくそこから知らんのか
アプリがハードウェアの状態をチェックするなら割り込みじゃないよ
まったくそこから知らんのか
829デフォルトの名無しさん
2021/04/12(月) 22:25:39.21ID:AGjFdU+p 『割り込み』はハードウェアへのアクセスであり、
>割り込みとは、CPUが受けとる緊急の処理要求信号である。
OSによるイベントループ・イベントキューとは全く異なる!
>割り込みとは、CPUが受けとる緊急の処理要求信号である。
OSによるイベントループ・イベントキューとは全く異なる!
830デフォルトの名無しさん
2021/04/12(月) 22:45:09.30ID:AGjFdU+p 揚げ足取りで申し訳無いが、
>>828
>アプリがハードウェアの状態をチェックするなら割り込みじゃないよ
プリンターのSDカードをチェックする、割り込み印刷するアプリも有るけどね。
優先的に印刷する(割り込み印刷)
08RU-07L
今処理中の印刷ジョブを止めて先に印刷するモードです。止められた印刷ジョブは、プリンターのSDカードに保持され、割り込み印刷の印刷ジョブが終わると、印刷しなおされます。
プリンタードライバーの「出力方法」で「割り込み印刷」を選択して印刷します。
https://oip.manual.canon/USRMA-0207-zz-SS-jaJP/contents/08100000.html
>>828
>アプリがハードウェアの状態をチェックするなら割り込みじゃないよ
プリンターのSDカードをチェックする、割り込み印刷するアプリも有るけどね。
優先的に印刷する(割り込み印刷)
08RU-07L
今処理中の印刷ジョブを止めて先に印刷するモードです。止められた印刷ジョブは、プリンターのSDカードに保持され、割り込み印刷の印刷ジョブが終わると、印刷しなおされます。
プリンタードライバーの「出力方法」で「割り込み印刷」を選択して印刷します。
https://oip.manual.canon/USRMA-0207-zz-SS-jaJP/contents/08100000.html
831デフォルトの名無しさん
2021/04/12(月) 23:07:52.77ID:AGjFdU+p 例 マウスの動きをチェックしたい
方法1(ポーリング)(割り込みではない方式です)
マウスが動くとあるメモリの値が変化するようにハードウェアを設計する。
定期的にそのメモリの値をチェックする方式(ポーリング=定期的なチェック)だと
次のような欠点がある。
(1)プログラムが複雑になる。
(2)他の部分の処理が長びくと、チェックが遅れるかもしれない。
(3)頻繁にチェックしなくてはならないので、CPUの負担が大きい。
方法2(割り込み)
マウスが動くとハードウェアからCPUの割込み要求端子へ信号が発生するようにハードを設計する。
この信号が発生すると、CPUは、実行中の(他の)プログラムを中断して、割り込みに対応した
プログラム(割り込みハンドラ)を、すぐに(ごく短い時間だけ)実行する。
その後、中断したプログラムを再開する。
(ポーリングのように定期的にメモリをチェックする必要はない!)
http://www.cs.gunma-u.ac.jp/~nakano/OS16/intro.html
1980年代の『互換性の無いハードウェア依存システム』になりそうな気がする・・・
821 デフォルトの名無しさん sage 2021/04/12(月) 22:02:29.09 ID:wo2ZdM5G
>>818
直接ハードウェアの状態をチェックするなんて言ってないよ
ハードウェアを仮想化したデバイスの状態をチェックしてると言ってる
論点はイベントを使うか使わないかだから
方法1(ポーリング)(割り込みではない方式です)
マウスが動くとあるメモリの値が変化するようにハードウェアを設計する。
定期的にそのメモリの値をチェックする方式(ポーリング=定期的なチェック)だと
次のような欠点がある。
(1)プログラムが複雑になる。
(2)他の部分の処理が長びくと、チェックが遅れるかもしれない。
(3)頻繁にチェックしなくてはならないので、CPUの負担が大きい。
方法2(割り込み)
マウスが動くとハードウェアからCPUの割込み要求端子へ信号が発生するようにハードを設計する。
この信号が発生すると、CPUは、実行中の(他の)プログラムを中断して、割り込みに対応した
プログラム(割り込みハンドラ)を、すぐに(ごく短い時間だけ)実行する。
その後、中断したプログラムを再開する。
(ポーリングのように定期的にメモリをチェックする必要はない!)
http://www.cs.gunma-u.ac.jp/~nakano/OS16/intro.html
1980年代の『互換性の無いハードウェア依存システム』になりそうな気がする・・・
821 デフォルトの名無しさん sage 2021/04/12(月) 22:02:29.09 ID:wo2ZdM5G
>>818
直接ハードウェアの状態をチェックするなんて言ってないよ
ハードウェアを仮想化したデバイスの状態をチェックしてると言ってる
論点はイベントを使うか使わないかだから
832デフォルトの名無しさん
2021/04/12(月) 23:15:54.11ID:AGjFdU+p すると例えばキャノンのプリンタードライバーのような仮想化デバイスを、
>>821
>ハードウェアを仮想化したデバイス
キーボードやマウスやUSBメモリにも適用させようと???
デバイスのインストールと起動が面倒くさいことになりそうだな!
>>821
>ハードウェアを仮想化したデバイス
キーボードやマウスやUSBメモリにも適用させようと???
デバイスのインストールと起動が面倒くさいことになりそうだな!
833デフォルトの名無しさん
2021/04/12(月) 23:51:09.13ID:o1bf8P7D >>821
OSやフレームワークが提供するイベントを使わなくてもやってることは変わらないよね?
デバイスの状態をチェックしてアプリケーションにとって意味ある入力(=イベント)として解釈するレイヤーと
発生した入力(=イベント)を使ってアプリケーションの管理する状態を更新するレイヤーとは別でしょ?
それを混在させるメリットある?
適切にレイヤー分けできてないだけに思える
OSやフレームワークが提供するイベントを使わなくてもやってることは変わらないよね?
デバイスの状態をチェックしてアプリケーションにとって意味ある入力(=イベント)として解釈するレイヤーと
発生した入力(=イベント)を使ってアプリケーションの管理する状態を更新するレイヤーとは別でしょ?
それを混在させるメリットある?
適切にレイヤー分けできてないだけに思える
834デフォルトの名無しさん
2021/04/13(火) 01:12:16.02ID:CfPnmjiF >>824
後者については同意するけど前者については状況次第
Stateパターンすら知らないなら君もゲーム脳もどんぐり
https://gameprogrammingpatterns.com/state.html
ついでにこの辺も読んでおくといい
https://gameprogrammingpatterns.com/game-loop.html
https://gameprogrammingpatterns.com/event-queue.html
後者については同意するけど前者については状況次第
Stateパターンすら知らないなら君もゲーム脳もどんぐり
https://gameprogrammingpatterns.com/state.html
ついでにこの辺も読んでおくといい
https://gameprogrammingpatterns.com/game-loop.html
https://gameprogrammingpatterns.com/event-queue.html
835デフォルトの名無しさん
2021/04/13(火) 01:33:29.72ID:OTSe3bp7 ゲームプログラムクイズ大会終わったかい?
836デフォルトの名無しさん
2021/04/13(火) 08:06:49.79ID:oma1nuVq837デフォルトの名無しさん
2021/04/13(火) 09:12:34.46ID:3BHTfEQN838デフォルトの名無しさん
2021/04/13(火) 09:50:56.99ID:oma1nuVq839デフォルトの名無しさん
2021/04/13(火) 11:03:47.18ID:3qmwHhLR 業務用システムでもいろんなわけわからん条件に応じて
いろんなコントロールが友好になったり無効になったりするときに
Stateパターンでスッキリするときはあるぞ
Stateパターン使うというより
ステートマシンが必要なら作るという
それだけの話だが
いろんなコントロールが友好になったり無効になったりするときに
Stateパターンでスッキリするときはあるぞ
Stateパターン使うというより
ステートマシンが必要なら作るという
それだけの話だが
840デフォルトの名無しさん
2021/04/13(火) 11:14:28.37ID:5GJi7nDK841デフォルトの名無しさん
2021/04/13(火) 11:15:52.16ID:oma1nuVq だから最初に「ボタンを押している状態をクラスにするのはアホ」と書いた
よく読まないから恥をかく
824デフォルトの名無しさん2021/04/12(月) 22:06:58.46ID:wo2ZdM5G
そして、ボタンを押してるか押してないかというのが
ボタンクラスの属性であって
「ボタンを押している状態」をクラスにするのはアホ
よく読まないから恥をかく
824デフォルトの名無しさん2021/04/12(月) 22:06:58.46ID:wo2ZdM5G
そして、ボタンを押してるか押してないかというのが
ボタンクラスの属性であって
「ボタンを押している状態」をクラスにするのはアホ
842デフォルトの名無しさん
2021/04/13(火) 11:34:36.99ID:CfPnmjiF843デフォルトの名無しさん
2021/04/13(火) 12:38:45.51ID:oma1nuVq > ポーリングした結果をイベントに変換するだけでしょ
だからゲームではしないんだよ
だからゲームではしないんだよ
844デフォルトの名無しさん
2021/04/13(火) 12:39:08.78ID:oma1nuVq > 〜の場合はボタン押しっぱなし、〜場合はボタン立ち上がり、〜場合はボタン立ち下がり
> というイベントに変換してるじゃん
イベントは発生するもの。はぁ。そこからかよ
> というイベントに変換してるじゃん
イベントは発生するもの。はぁ。そこからかよ
845デフォルトの名無しさん
2021/04/13(火) 12:40:59.44ID:oma1nuVq > イベントを発行する低レイヤーの処理がポーリング使ってようがいまいが
低レイヤーの話はしてない。
ゲームアプリの実装はイベントを受け取らず定期的にボタンの状態をスキャンしてるの
ゲーム脳がなぜ「ボタンの状況を把握するクラスを作る」ものだと思ってるのかわかってないでしょ?
724 名前:デフォルトの名無しさん[sage] 投稿日:2021/04/11(日) 08:28:12.36 ID:CjAFb9gH [17/24]
> 「ボタンを押している状態」をクラス
ButtonPressedClass
> 「ボタンの状況」を把握するクラスを作ること
ButtonStateScannerClass
ぜんぜん違うだろ
低レイヤーの話はしてない。
ゲームアプリの実装はイベントを受け取らず定期的にボタンの状態をスキャンしてるの
ゲーム脳がなぜ「ボタンの状況を把握するクラスを作る」ものだと思ってるのかわかってないでしょ?
724 名前:デフォルトの名無しさん[sage] 投稿日:2021/04/11(日) 08:28:12.36 ID:CjAFb9gH [17/24]
> 「ボタンを押している状態」をクラス
ButtonPressedClass
> 「ボタンの状況」を把握するクラスを作ること
ButtonStateScannerClass
ぜんぜん違うだろ
846デフォルトの名無しさん
2021/04/13(火) 12:48:22.34ID:5GJi7nDK また適当なことを・・・
まぁいいや、続けて
まぁいいや、続けて
847デフォルトの名無しさん
2021/04/13(火) 12:50:02.65ID:oma1nuVq なにも言い返してないことに対して続けてと言われても
反論がないならレスしなくていいのよ
反論がないならレスしなくていいのよ
848デフォルトの名無しさん
2021/04/13(火) 12:51:36.36ID:5GJi7nDK 反論するかどうかはその話が完結したら決めるよ
849デフォルトの名無しさん
2021/04/13(火) 12:53:50.55ID:Fs1rsRs1 ああ、いつまでも完結してないことにして
反論できないことを、ごまかすって言ってるわけねw
反論できないことを、ごまかすって言ってるわけねw
850デフォルトの名無しさん
2021/04/13(火) 12:55:34.26ID:5GJi7nDK まぁそう受けとってもいいよ。今はね。
邪魔をして悪かった。続けて。
邪魔をして悪かった。続けて。
851デフォルトの名無しさん
2021/04/13(火) 13:00:12.70ID:Fs1rsRs1 受け取るも何も、反論は出てません。で終わりだよw
852デフォルトの名無しさん
2021/04/13(火) 13:03:14.65ID:5GJi7nDK なら何もID変えるほどビビることもないだろ?
自信があるならどうぞ続けてください
自信があるならどうぞ続けてください
853デフォルトの名無しさん
2021/04/13(火) 13:04:18.10ID:Fs1rsRs1 IDは勝手に変わるんだから仕方ないだろw
854デフォルトの名無しさん
2021/04/13(火) 13:04:52.99ID:Fs1rsRs1 おっとIDの話にすり替えようとしても、お前の反論がないというこの状況に変化はないぞw
855デフォルトの名無しさん
2021/04/13(火) 13:06:03.58ID:5GJi7nDK いいよ、今は反論がないということで
だから続けなよ
だから続けなよ
856デフォルトの名無しさん
2021/04/13(火) 13:11:46.04ID:Fs1rsRs1 だからレスがあれば続けてるだろw
857デフォルトの名無しさん
2021/04/13(火) 13:40:35.29ID:CfPnmjiF >>844
なるほど、自分でイベントを発生させたことがないんだね
それでイベントドリブンを語るのはStateパターンすら知らずにオブジェクト指向語るのと同レベルだわ
ゲーム脳に比べると君のほうが常識人に感じてたが
視野狭窄という意味でやっぱりゲーム脳とどんぐりだな
レスバする理由がよくわかった
なるほど、自分でイベントを発生させたことがないんだね
それでイベントドリブンを語るのはStateパターンすら知らずにオブジェクト指向語るのと同レベルだわ
ゲーム脳に比べると君のほうが常識人に感じてたが
視野狭窄という意味でやっぱりゲーム脳とどんぐりだな
レスバする理由がよくわかった
858デフォルトの名無しさん
2021/04/13(火) 13:42:41.77ID:Fs1rsRs1 > なるほど、自分でイベントを発生させたことがないんだね
なぜゲームではイベントを使わずに
ポーリングでボタンの状態を検出するというだけの話から
そんな発想が出てくるんだろうか?
意味わからんよねw
なぜゲームではイベントを使わずに
ポーリングでボタンの状態を検出するというだけの話から
そんな発想が出てくるんだろうか?
意味わからんよねw
859デフォルトの名無しさん
2021/04/13(火) 14:13:56.82ID:a0fpMlgS 印刷中は電源オフ要求があったら下の領域でラッチして覚えておき、印刷が終わったところでラッチを調べ、
電源オフ要求があったならば、電源オフ処理を始める。
このように、何かをやっている最中に、何かが起きることを覚えておきたい、というときに、直交合成状態を使うことができる。
この形のことを Latch State (ラッチステート)パターンと言う。リアルタイムUMLワークショップという本の中で、ブルースダグラスさんが命名している。
https://qiita.com/saltheads/items/abd039ec2df18bdd7995
839 デフォルトの名無しさん sage 2021/04/13(火) 11:03:47.18 ID:3qmwHhLR
業務用システムでもいろんなわけわからん条件に応じて
いろんなコントロールが友好になったり無効になったりするときに
Stateパターンでスッキリするときはあるぞ
Stateパターン使うというより
ステートマシンが必要なら作るという
それだけの話だが
電源オフ要求があったならば、電源オフ処理を始める。
このように、何かをやっている最中に、何かが起きることを覚えておきたい、というときに、直交合成状態を使うことができる。
この形のことを Latch State (ラッチステート)パターンと言う。リアルタイムUMLワークショップという本の中で、ブルースダグラスさんが命名している。
https://qiita.com/saltheads/items/abd039ec2df18bdd7995
839 デフォルトの名無しさん sage 2021/04/13(火) 11:03:47.18 ID:3qmwHhLR
業務用システムでもいろんなわけわからん条件に応じて
いろんなコントロールが友好になったり無効になったりするときに
Stateパターンでスッキリするときはあるぞ
Stateパターン使うというより
ステートマシンが必要なら作るという
それだけの話だが
860デフォルトの名無しさん
2021/04/13(火) 14:17:37.36ID:5GJi7nDK861デフォルトの名無しさん
2021/04/13(火) 14:54:10.93ID:5GJi7nDK >>859
正直リンク先見たとき英語で記載されてて
俺じじいだし英語読めないし
DEEPLE先生で翻訳しても訳分からないし
Stateパターンって名前がついているのは知らなかったけど、
クラス図見たとき「ああ、あのアレか」と思うほど結構使われてるやつだったよ
ま、そう言うとまたゲーム脳って言われるんだろうけど
正直リンク先見たとき英語で記載されてて
俺じじいだし英語読めないし
DEEPLE先生で翻訳しても訳分からないし
Stateパターンって名前がついているのは知らなかったけど、
クラス図見たとき「ああ、あのアレか」と思うほど結構使われてるやつだったよ
ま、そう言うとまたゲーム脳って言われるんだろうけど
862デフォルトの名無しさん
2021/04/13(火) 15:21:17.51ID:a0fpMlgS データベースとオブジェクト指向の間には溝があります。インピーダンスミスマッチと呼ばれていますが、
ゲームを構築する際にも、インピーダンスミスマッチが生じています。
ゲーム世界をプログラムコードに落とす上で、継承という仕組みは貧弱すぎるのです。
https://qiita.com/tshinsay/items/739ad875cc3925d51f12
一般的なゲームプログラミングで使われるオブジェクト指向は、サブクラスではなくインナークラスのほう。
オブジェクト指向は要らないという意見もあるが、サブクラスについては人工知能に活用したいところ。
例えばクリントン大統領はチンポ【が】シコシコしてしまったのが『不適切な関係』だったとか。
1 インナークラス(オシッコをするときのチンポ)
ネットワーク、メッセージング、イベントドリブン、同期処理・・・
2 サブクラス(勃起・射精するときのチンポ)
自然言語処理、人工知能・・・
ゲームを構築する際にも、インピーダンスミスマッチが生じています。
ゲーム世界をプログラムコードに落とす上で、継承という仕組みは貧弱すぎるのです。
https://qiita.com/tshinsay/items/739ad875cc3925d51f12
一般的なゲームプログラミングで使われるオブジェクト指向は、サブクラスではなくインナークラスのほう。
オブジェクト指向は要らないという意見もあるが、サブクラスについては人工知能に活用したいところ。
例えばクリントン大統領はチンポ【が】シコシコしてしまったのが『不適切な関係』だったとか。
1 インナークラス(オシッコをするときのチンポ)
ネットワーク、メッセージング、イベントドリブン、同期処理・・・
2 サブクラス(勃起・射精するときのチンポ)
自然言語処理、人工知能・・・
863デフォルトの名無しさん
2021/04/13(火) 15:33:19.55ID:a0fpMlgS こういう場合は、サブクラスとして『ひげそり機を使っている状態のFred』を再定義するしかないかも。
829 デフォルトの名無しさん 2018/11/11(日) 09:52:59.70 ID:y84pWKv0
(第1章 はじめに 2頁)
たとえば、CycはFredという名前の男が朝にひげをそるという話が理解できなかった。
Cycの推論エンジンは、この話の中に矛盾を見つけた。Cycは人間には電気の部品がないことは知っているが、
Fredが電気カミソリを持っていたので、エンティティ「Fredがひげそり中(FredWhileShaving)」
には電気の部品が含まれていると考えた。したがって、CycはFredがひげをそっている間、
Fredはそれでも人間なのかと尋ねた。
『深層学習』
著者:
Ian Goodfellow, イアングッドフェロー,
Yoshua Bengio, ヨシュアベンジオ,
Aaron Courville, アーロンカービル
一般的なアプリやゲームやプリンターにおいては『状態』そのものをオブジェクトには出来ないが、
>>626
> 乗っ取られるという状態変化を起こしたクリントンがシコっていることに変わりはない
人工知能とか自然言語処理なら、シコシコしたチンポにクリントンがシコられたと解釈したいところ。
250 デフォルトの名無しさん sage 2021/03/21(日) 16:00:54.94 ID:rWfpUSZ4
状態をオブジェクトにするな
は昔からよく言われている
「ボタンを押している状態」
をクラスにしてしまうと
プログラムが無茶無茶になる
「モノ」をオブジェクトにする
これがオブジェクト指向の本質
829 デフォルトの名無しさん 2018/11/11(日) 09:52:59.70 ID:y84pWKv0
(第1章 はじめに 2頁)
たとえば、CycはFredという名前の男が朝にひげをそるという話が理解できなかった。
Cycの推論エンジンは、この話の中に矛盾を見つけた。Cycは人間には電気の部品がないことは知っているが、
Fredが電気カミソリを持っていたので、エンティティ「Fredがひげそり中(FredWhileShaving)」
には電気の部品が含まれていると考えた。したがって、CycはFredがひげをそっている間、
Fredはそれでも人間なのかと尋ねた。
『深層学習』
著者:
Ian Goodfellow, イアングッドフェロー,
Yoshua Bengio, ヨシュアベンジオ,
Aaron Courville, アーロンカービル
一般的なアプリやゲームやプリンターにおいては『状態』そのものをオブジェクトには出来ないが、
>>626
> 乗っ取られるという状態変化を起こしたクリントンがシコっていることに変わりはない
人工知能とか自然言語処理なら、シコシコしたチンポにクリントンがシコられたと解釈したいところ。
250 デフォルトの名無しさん sage 2021/03/21(日) 16:00:54.94 ID:rWfpUSZ4
状態をオブジェクトにするな
は昔からよく言われている
「ボタンを押している状態」
をクラスにしてしまうと
プログラムが無茶無茶になる
「モノ」をオブジェクトにする
これがオブジェクト指向の本質
864デフォルトの名無しさん
2021/04/13(火) 17:32:21.52ID:lxQvoCB8 このスレでゲーム脳って言われてる人って
アーケードか家庭用ゲーム機で作ってたりするん?
老舗あるいは有名メーカーだったりするん?
アーケードか家庭用ゲーム機で作ってたりするん?
老舗あるいは有名メーカーだったりするん?
865デフォルトの名無しさん
2021/04/13(火) 18:47:14.48ID:/ZU5S8St メッセージループでメッセージを受け取る->処理する
送り側はメッセージキューに送る
すべてそれで理解できる
何年も何にも変わってない
送り側はメッセージキューに送る
すべてそれで理解できる
何年も何にも変わってない
866デフォルトの名無しさん
2021/04/13(火) 19:14:28.11ID:5GJi7nDK867デフォルトの名無しさん
2021/04/13(火) 19:17:17.22ID:3qmwHhLR 引用の仕方も分からないKYって典型的だよな
868デフォルトの名無しさん
2021/04/13(火) 19:26:48.22ID:Fs1rsRs1 >>865
Windows 3.1や95の初期あたりの頃とかはそうだった
プログラマがウインドウメッセージを直接処理していた
今はそういったものはライブラリが処理し
アプリケーションプログラマから見るとウインドウメッセージは
イベントとして受け取る形でプログラミングできるようになってる
時代は変わってるんだよ
Windows 3.1や95の初期あたりの頃とかはそうだった
プログラマがウインドウメッセージを直接処理していた
今はそういったものはライブラリが処理し
アプリケーションプログラマから見るとウインドウメッセージは
イベントとして受け取る形でプログラミングできるようになってる
時代は変わってるんだよ
869デフォルトの名無しさん
2021/04/13(火) 19:48:02.89ID:fFoE8jgx >>868
95の初期とか、、、MFCなんて使わないしWindowsXPくらいまでは普通にメッセージ処理してたわいw
95の初期とか、、、MFCなんて使わないしWindowsXPくらいまでは普通にメッセージ処理してたわいw
870デフォルトの名無しさん
2021/04/13(火) 19:53:52.51ID:5GJi7nDK さて、仕事も終わったことだし
昼頃に言い淀んだことの説明をするか
実はカタワ指向君に反論ではなく>>842に
苦情をいいたかったんだ
カタワ指向君の後にレスしたからカタワ指向が自分のことと思って俺にレスしてきたから
悪いとは思ったけどちょっと面白くなって濁らしたんだ。すまんな、俺は人格破綻者なんだ。
さて
>>842
>>>679のゲーム脳の例でも
>〜の場合はボタン押しっぱなし、〜場合はボタン立ち上がり、〜場合はボタン立ち下がり
>というイベントに変換してるじゃん
いつ俺がイベントに変換しているなんて言ったよ
変に曲解して俺が変なことを言ったように風潮するのは止めて頂きたい
そっちがイベント作成して飛ばすのは勝手だがな。
昼頃に言い淀んだことの説明をするか
実はカタワ指向君に反論ではなく>>842に
苦情をいいたかったんだ
カタワ指向君の後にレスしたからカタワ指向が自分のことと思って俺にレスしてきたから
悪いとは思ったけどちょっと面白くなって濁らしたんだ。すまんな、俺は人格破綻者なんだ。
さて
>>842
>>>679のゲーム脳の例でも
>〜の場合はボタン押しっぱなし、〜場合はボタン立ち上がり、〜場合はボタン立ち下がり
>というイベントに変換してるじゃん
いつ俺がイベントに変換しているなんて言ったよ
変に曲解して俺が変なことを言ったように風潮するのは止めて頂きたい
そっちがイベント作成して飛ばすのは勝手だがな。
871デフォルトの名無しさん
2021/04/13(火) 20:21:32.34ID:Fs1rsRs1 >>869
> 95の初期とか、、、MFCなんて使わないしWindowsXPくらいまでは普通にメッセージ処理してたわいw
それはお前が選択したものの話であって、Delphi、C++Builder、VB、Javaなんでもありました。
その頃になればC#も登場してますね
> 95の初期とか、、、MFCなんて使わないしWindowsXPくらいまでは普通にメッセージ処理してたわいw
それはお前が選択したものの話であって、Delphi、C++Builder、VB、Javaなんでもありました。
その頃になればC#も登場してますね
872デフォルトの名無しさん
2021/04/13(火) 20:46:40.42ID:fFoE8jgx■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★4 [BFU★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す [蚤の市★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 佳子さまがコロナ感染 [おっさん友の会★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【悲報】靖国参拝を批判する中国に内政干渉するなと騒ぐネトウヨが中国の内紛に干渉する理由、誰にもわからない🥺 [616817505]
- 【実況】博衣こよりのえちえち歌枠🧪★2
- 【悲報】ネトウヨ「なんで高市が謝るんだよ!岡田が謝れ!😡」 [359965264]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- エッヂ逝った?
