【delphi / c++builder starter チュートリアルシリーズ】 第5回...

18
© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. 第5第 第第第第第第第第第第第第第第第第第第第第1:わわわわわわわわわわわわわわ わわわ わわわわわわわわわわわわわわ 一!

Upload: -

Post on 10-Jan-2017

38 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: 【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„

© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential.

第 5 回‟ イベントに合わせて動かしてみよう„シーズン1:わずかなプログラミングで完成! 最初の一歩から始めてゲームを作ろう!

Page 2: 【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„

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

Page 3: 【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„

3© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

第 5 回 「イベントにあわせて動かしてみよう」 今日のねらい

• イベントとイベントハンドラについて知る• イベントの種類について知る

実施内容• イベントに紐づくイベントハンドラを書いてみる• 一つのコンポーネントで発生する 複数のイベントを使い分けてみる。• キー入力に伴うイベントハンドラを書いてみる。• 定期的な処理を行ってみる。

注意事項• コードの説明は Delphi (Object Pascal) で行っていますが、最後に C++ 向けの補

講があります。

Page 4: 【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„

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 アカウントでダウンロード可

登録完了後、自動でインストーラーのダウンロード開始

インストール時にシリアルキーを入力

登録時のメールアドレスにシリアルキーが配信される

Page 5: 【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„

5© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

イベントとは何か? 辞書の説明では……

1. 出来事。催し物。行事。2. 競技種目。試合。「メーンイベント」3. キーボードやマウスからの入力や、実行中のプログラムからの処理要求

のこと。これをきっかけにしてプログラムを動作させることをイベントドリブンという。

( 出典 : 小学館 デジタル大辞泉 )

Page 6: 【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„

6© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

コンピュータプログラムにおけるイベント キー操作

• キーを押した• 元に戻った

マウス操作• シングルクリック• ダブルクリック• ドラッグ&ドロップ• 押し下げた• 戻った• 動いた

フォーム操作• フォームが生成された• フォームを終了した• アプリがアクティブになっ

た• ウィンドウのリサイズが発

生した

タイマー処理

Page 7: 【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„

7© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

コンピュータプログラムにおけるイベントの例 実際のイベントの例

クリックすると Click イベントが発生する。

Page 8: 【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„

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;

Page 9: 【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„

9© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

演習 1: マウス操作のイベントに処理を書く。 ボタンを押す ダブルクリックする マウスボタンの押し下げを検知する マウスボタンを離したら検知する

Page 10: 【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„

10© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

演習 2: キー操作のイベントに処理を書く。 キー操作のイベントで取得できる

内容や違いを知る

• Key = 文字入力以外のキーの種類に応じた値( Enter, Shift, Ctrl, Alt, Esc F1 – F12, カーソルキーなど)を取得できる。

• KeyChar = 押されたキーに対応する文字が取得できる。

Page 11: 【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„

11© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

演習 3: 一定時間ごとに発生するタイマーイベントを使う TTimer コンポーネントを使う

ことで、一定時間ごとにイベントを発生させられることを確かめる。

• Interval の値でイベントの発生間隔を変えられる。

• 値の単位はミリ秒。

• 初期値は 1000 ミリ秒 = 1秒。

Page 12: 【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„

12© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

演習 4: アプリケーション起動や終了時のイベントを使う アプリの起動時に1回だけ処理を行う

アプリの終了時に1回だけ処理を行う

Page 13: 【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„

13© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

応用 : アナログ時計を作ってみる TTimer といくつかのコン

ポーネントを組み合わせれば、アナログ時計のアプリが作れます。

Page 14: 【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„

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 両方のサンプルコードを用意しています。

Page 15: 【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„

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

Page 16: 【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„

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/

「エンバカデロ」で検索

Page 17: 【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„

17© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

第 5 回 「イベントにあわせて動かしてみよう」まとめ 今日のねらい

• イベントとイベントハンドラについて知る• イベントの種類について知る

実施内容• イベントに紐づくイベントハンドラを書いてみる• 一つのコンポーネントで発生する 複数のイベントを使い分けてみる。• キー入力に伴うイベントハンドラを書いてみる。• 定期的な処理を行ってみる。

注意事項• コードの説明は Delphi (Object Pascal) で行っていますが、最後に C++ 向けの補

講があります。

Page 18: 【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„

18© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

次回は11 月 28 日(月) 17:00

より

“ミニゲームを作ってみよう„