【delphi / c++builder starter チュートリアルシリーズ】 第5回...
TRANSCRIPT
© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential.
第 5 回‟ イベントに合わせて動かしてみよう„シーズン1:わずかなプログラミングで完成! 最初の一歩から始めてゲームを作ろう!
2© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
Delphi / C++Builder Starter チュートリアルシリーズ
シーズン 1 : 2016 年 10 月 24 日 ~ 12 月 26 日 全 10 回
時間 :毎週 月曜 17 時 00 分 ~17 時 30 分
ねらい :一から学んでゲーム制作までシーズン 1
第 1 回2016 年 10 月
24 日 無料で始めよう アプリ作成第 2 回 10 月 31 日 ユーザーインターフェイス パーツ基礎第 3 回 11 月 7 日 ユーザーインターフェイス パーツの配置第 4 回 11 月 14 日 UI アニメーションの設定第 5 回 11 月 21 日 イベントに合わせて動かしてみよう第 6 回 11 月 28 日 ミニゲームを作ってみよう
第 7 回 12 月 5 日 シューティングゲーム キャラクターを貼り付けよう そして動かそ
う第 8 回 12 月 12 日 シューティングゲーム 敵を動かしてみよう第 9 回 12 月 19 日 シューティングゲーム 敵を攻撃しよう そして完成第 10
回 12 月 26 日 あなたの近くのコミュニティ - 勉強会に参加してみようセミナー情報 : 下記の Web サイトhttp://forms.embarcadero.com/starter-tutorial-webinar
3© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
第 5 回 「イベントにあわせて動かしてみよう」 今日のねらい
• イベントとイベントハンドラについて知る• イベントの種類について知る
実施内容• イベントに紐づくイベントハンドラを書いてみる• 一つのコンポーネントで発生する 複数のイベントを使い分けてみる。• キー入力に伴うイベントハンドラを書いてみる。• 定期的な処理を行ってみる。
注意事項• コードの説明は Delphi (Object Pascal) で行っていますが、最後に C++ 向けの補
講があります。
4© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
無料版 Delphi 10.1 Berlin Starter Edition 入手方法
• シリアルキーを知らせるメール内にも再ダウンロードリンク有
エンバWeb 製品 Delphi Starter
バナー 登録 Get
無料で使える開発環境をダウンロード
EDN* に登録済の方は EDN アカウントでダウンロード可
登録完了後、自動でインストーラーのダウンロード開始
インストール時にシリアルキーを入力
登録時のメールアドレスにシリアルキーが配信される
5© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
イベントとは何か? 辞書の説明では……
1. 出来事。催し物。行事。2. 競技種目。試合。「メーンイベント」3. キーボードやマウスからの入力や、実行中のプログラムからの処理要求
のこと。これをきっかけにしてプログラムを動作させることをイベントドリブンという。
( 出典 : 小学館 デジタル大辞泉 )
6© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
コンピュータプログラムにおけるイベント キー操作
• キーを押した• 元に戻った
マウス操作• シングルクリック• ダブルクリック• ドラッグ&ドロップ• 押し下げた• 戻った• 動いた
フォーム操作• フォームが生成された• フォームを終了した• アプリがアクティブになっ
た• ウィンドウのリサイズが発
生した
タイマー処理
7© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
コンピュータプログラムにおけるイベントの例 実際のイベントの例
クリックすると Click イベントが発生する。
8© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
コンピュータプログラムにおけるイベントの例 OnClick イベントに対して「イベントハンドラ」を割り当てる
と、イベントに伴って処理が行われる。
procedure TForm1.Button1Click(Sender: TObject);begin Memo1.Lines.Insert(0, ' ボタン押しましたね?');end;
9© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
演習 1: マウス操作のイベントに処理を書く。 ボタンを押す ダブルクリックする マウスボタンの押し下げを検知する マウスボタンを離したら検知する
10© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
演習 2: キー操作のイベントに処理を書く。 キー操作のイベントで取得できる
内容や違いを知る
• Key = 文字入力以外のキーの種類に応じた値( Enter, Shift, Ctrl, Alt, Esc F1 – F12, カーソルキーなど)を取得できる。
• KeyChar = 押されたキーに対応する文字が取得できる。
11© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
演習 3: 一定時間ごとに発生するタイマーイベントを使う TTimer コンポーネントを使う
ことで、一定時間ごとにイベントを発生させられることを確かめる。
• Interval の値でイベントの発生間隔を変えられる。
• 値の単位はミリ秒。
• 初期値は 1000 ミリ秒 = 1秒。
12© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
演習 4: アプリケーション起動や終了時のイベントを使う アプリの起動時に1回だけ処理を行う
アプリの終了時に1回だけ処理を行う
13© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
応用 : アナログ時計を作ってみる TTimer といくつかのコン
ポーネントを組み合わせれば、アナログ時計のアプリが作れます。
14© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
応用 : アナログ時計を作ってみる アナログ時計のアプリのサンプルコードは以下の URL からダウ
ンロードできます。
https://github.com/kazinoue/2016_StarterTutorial_S1-5/archive/master.zip
このアーカイブには演習のコードも含みます。
C++/Delphi 両方のサンプルコードを用意しています。
15© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
参考資料 イベントとイベントハンドラ
• http://docwiki.embarcadero.com/RADStudio/ja/イベント
• http://docwiki.embarcadero.com/RADStudio/ja/新規イベントハンドラの生成
• http://docwiki.embarcadero.com/RADStudio/ja/イベントとイベント_ハンドラの取り扱い
コンポーネント
• http://docwiki.embarcadero.com/Libraries/ja/FMX.StdCtrls.TButton
• http://docwiki.embarcadero.com/Libraries/ja/FMX.Memo.TMemo
• http://docwiki.embarcadero.com/Libraries/Berlin/ja/FMX.Edit.TEdit
• http://docwiki.embarcadero.com/Libraries/ja/FMX.Types.TTimer
• http://docwiki.embarcadero.com/Libraries/ja/FMX.Objects.TCircle
• http://docwiki.embarcadero.com/Libraries/ja/FMX.Objects.TRoundRect
16© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
本日のセミナー内容は弊社ブログに掲載予定
[ コミュニティ ] ↓
[ 日本人ブログ ]
実施内容の再視聴 エンバカデロ Web サイト : http://forms.embarcadero.com/starter-tutorial-webinar [ リソース ] – [ イベント ] のページに再視聴 (オンデマンド)の情報記載
実施内容サマリー
• Community embarcadero ( コミュニティ エンバカデロ ) に Web リンク、サンプルコード情報等
http://community.embarcadero.com/
「エンバカデロ」で検索
17© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
第 5 回 「イベントにあわせて動かしてみよう」まとめ 今日のねらい
• イベントとイベントハンドラについて知る• イベントの種類について知る
実施内容• イベントに紐づくイベントハンドラを書いてみる• 一つのコンポーネントで発生する 複数のイベントを使い分けてみる。• キー入力に伴うイベントハンドラを書いてみる。• 定期的な処理を行ってみる。
注意事項• コードの説明は Delphi (Object Pascal) で行っていますが、最後に C++ 向けの補
講があります。
18© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
次回は11 月 28 日(月) 17:00
より
“ミニゲームを作ってみよう„