EVENT プログラミングのスタイル 手続き型: ある決められた場所から開始され, その後は純粋に上から下に流れて行く方式. 実行したいことを, 順番に記述してゆく. 逐次処理形式コーディングの方法である。 今までの授業(情報処理2や3)で 行ってきたプログラミングの演習 bcc32やmake 手続き型.

Slides:



Advertisements
Similar presentations
イベント イベント: マウスの操作、キーボードの操作、ファイル操作など システムやユーザーからの入力・出力のこと
Advertisements

2001年11月更新 2章 Windowプログラムの構成 Windowsプログラムおよび       PiasTkプログラムの基本構造.
【事例演習1】 CGプログラム基礎      解 説        “Windowsプログラムにおける      ダイアログボックスの作成方法”    
アルゴリズムとデータ構造 第2回 線形リスト(復習).
特別課題 あまりにも優秀すぎて, 時間をもてあましている人へ.
7/10 if 文課題 力作が多くて感心! 演習1:キーボードから2つの整数を入力し、小さい方の数字を 表示せよ。
計算技術研究会 C言語講座 第3回 Loops (for文 while文).
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
基礎プログラミングおよび演習 第9回
プログラミング基礎I(再) 山元進.
プログラミング序論演習.
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
OSとコマンド OS:コンピュータを使うための基本プログラム コマンド:OS上で使用できる命令 OS本体であるカーネルの内部コマンド
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
第10回 プログラミングⅡ 第10回
二分探索木によるサーチ.
C言語講座 第3回 ポインタ、配列.
プログラムの制御構造 選択・繰り返し.
Cプログラミング演習 中間まとめ2.
プログラミング 2 ファイル処理.
DirectX 勉強会 第4回.
DirectX勉強会 第5回.
プログラミング演習(2組) 第8回
マルチスレッド処理 マルチプロセス処理について
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第2回 ファイル処理 情報・知能工学系 山本一公
プログラミング 平成23年12月21日 森田 彦.
iioLoadFile()とiioMallocImageBuffer()の補足
iioLoadFile()とiioMallocImageBuffer()の補足
OpenGLを使ったプログラム作成 澤見研究室
アルゴリズムとプログラミング (Algorithms and Programming)
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
復習 前回の関数のまとめ(1) 関数はmain()関数または他の関数から呼び出されて実行される.
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
Cプログラミング演習 第10回 二分探索木.
高度プログラミング演習 (05).
高度プログラミング演習 (05).
プログラミングⅠ 平成30年10月15日 森田 彦.
プログラミング 3 スタックとキュー.
OSが管理している、デフォルトの入出力装置 入力:stdin キーボード 出力:stdout モニタ(コマンドプロンプトの画面)
C言語 はじめに 2016年 吉田研究室.
構造体と共用体.
チューリングマシン 0n1nを受理するチューリングマシン 入力テープ b b b b 状態遷移機械.
GUIプログラミングの基本=イベント イベントとは イベントの例 ウィンドウやウィンドウ内のパーツ(ボタン・スクロールバーなど)に発生する
基礎プログラミング演習 第6回.
JAVA GUIプログラミング 第3回 イベント処理① マウスイベント.
データ構造とアルゴリズム (第3回) 静岡大学工学部 安藤和敏
Windowsアプリケーション プログラミング
プログラミング入門 電卓を作ろう・パートI!!.
情報処理Ⅱ 第2回 2005年10月14日(金).
情報処理Ⅱ 第2回 2006年10月13日(金).
プログラミングⅠ 平成30年12月10日 森田 彦.
地域情報学 C言語プログラミング 第4回 while文、do~while文、switch文、 2次元配列、ポインタ 2017年11月10日
ネットワーク・プログラミング Cプログラミングの基礎.
高度プログラミング演習 (11).
プログラミング基礎演習 第4回.
標準入出力、変数、演算子、エスケープシーケンス
cp-15. 疑似乱数とシミュレーション (C プログラミング演習,Visual Studio 2019 対応)
Cプログラミング演習 ニュートン法による方程式の求解.
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
関数と再帰 教科書13章 電子1(木曜クラス) 2005/06/22(Thu.).
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
第10回 関数と再帰.
プログラミング序論演習.
第2章 数値の入力と変数 scanfと変数をやります.
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
= 55 課題6-1 #define _CRT_SECURE_NO_WARNINGS
Presentation transcript:

EVENT プログラミングのスタイル 手続き型: ある決められた場所から開始され, その後は純粋に上から下に流れて行く方式. 実行したいことを, 順番に記述してゆく. 逐次処理形式コーディングの方法である。 今までの授業(情報処理2や3)で 行ってきたプログラミングの演習 bcc32やmake 手続き型

EVENT プログラミングのスタイル イベント駆動型(イベントドリブン) 処理はイベント毎に分割して記述され, 必要に応じて呼びだされ, 処理される方式   Windows上のアプリケーション(TeraPadやその他のソフト) イベントドリブン

EVENT イベント 外部からの入力アクション ”キーボードが押された” ”マウスが移動した” など OSからのメッセージ など ”マウスが移動した” など OSからのメッセージ など アプリケーションに対するEvent(出来事)のこと SDLではユーザーがアプリケーションに対して行う入力を イベントとして扱 う

EVENT SDLでイベントは SDL_Event という共用体(一種の構造体)を使って扱う

EVENT アプリケーションに対する全てのイベントは、 イベントキューという過去にどんなイベントが発生したかを 記録する配列に収められる。 ※先にイベントキューに入ったイベントからアプリケーションに渡される。 マウスが動いた マウス右 Aのキー Cのキー Aのキーが押された ESC SDLアプリケーション イベントキュー

int SDL_PollEvent (SDL_Event *event); 待ち行列の中のイベントの内容を取り出して処理する関数 int SDL_PollEvent (SDL_Event *event); 現在留まっているイベントを取り出し、 イベントがある時は 1 を、 ないときは 0 を返します。 event が NULL でない場合は、 次のイベントをキューから取り出して、eventに格納します。

EVENT SDL_Event イベントを扱う型。 各種イベントに対応したメンバ変数をもつ共用体。 メンバ変数 type イベントの型を扱う キーが押されたイベント SDL_KEYDOWN マウスの移動イベント SDL_MOUSEMOTION マウスのボタンイベント SDL_MOUSEBUTTONDOWN

EVENT SDL_Event イベントを扱う型。 各種イベントに対応したメンバ変数をもつ共用体。 メンバ変数 key.keysym.sym どのキーが押されたかを扱う SDLK_ESCAPE  ESCキー SDLK_RETURN  リターンキー など

EVENT SDL_Event イベントを扱う型。 各種イベントに対応したメンバ変数をもつ共用体。 メンバ変数 motion.x 、motion.y マウスの位置がわかる button.button マウスのどのボタンが押されているか など

EVENT 例         while(SDL_PollEvent(&e)){             //Eventをチェック             if (e.type == SDL_KEYDOWN ){    //もしキーイベントならチェックする                 switch(e.key.keysym.sym){                     case SDLK_ESCAPE:    //もしESCキーが押されたなら終了                         done=1;                         break;                     default:                         break;                 }             }             else if (e.type == SDL_MOUSEMOTION ){    //もしmouseの移動ならチェックする                 Printf("マウスの位置 x,y = %d, %f\n",e.motion.x,e.motion.y);             } //他の仕事 }