Top Banner
Copyright © Asial Corporation. All Rights Reserved. はじめてのプログラミング 実践編 で学ぶ
85

書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Apr 15, 2017

Download

Education

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

はじめてのプログラミング

実践編

で学ぶ

Page 2: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

はじめに

2

Page 3: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

はじめに

Monaca Education事業のご紹介

Monacaとは

└ ブラウザだけで本格的なアプリ開発ができるサービスです

Monaca Education事業

└ アプリ開発による実践的なプログラミング教育を支援します

• 教材の開発と提供

• 教育用ライセンスの提供

• 各種トレーニングの実施

3

https://edu.monaca.io/

Page 4: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

はじめに

このスライドについて

書籍『Monacaで学ぶはじめてのプログラミング』全12章相当の学習

が完了している方を対象とした講義用スライドです。

サンプルアプリ開発を中心とした内容となっており、より実践的なア

プリ構築手法を学ぶことができます。

4

https://ja.monaca.io/book/001/

Page 5: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

はじめに

目次

5

コマ番号 タイトル 要素技術

第1回 オリエンテーション Monaca

第2回 おみくじアプリを作ろう HTML/CSS/Javascript

第3回 おみくじアプリを改造しよう ハードウェア機能

第4回 宝当てゲームを作ろう 関数

第5回 宝当てゲームを改造しよう ローカルストレージ

第6回 Yes/No チャートアプリを作ろう Onsen UI

第7回 道路標識暗記アプリを作ろう JSON

第8回 アンケートアプリを作ろうニフティクラウドmobile

backend(サーバ連携)

第9回 地図アプリを作ろう Yahoo! 地図API

第10回 位置情報共有アプリを作ろう 総括

Page 6: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

はじめに

利用について

第3回分まではスライドシェアにて無料で公開しております

└ ダウロードや再配布はできません

└ 授業や勉強会・セミナーでお使い頂いて構いません

第10回分まで利用したい場合

└ Monacaの利用を表明して頂ける教育機関(学校教育法で定めら

れた教育機関)に無料提供しています。

└ その他の教育機関も別途相談に応じます

└ お問い合わせはMonacaのサイトにて受け付けております

• https://ja.monaca.io/support/inquiry.html

6

Page 7: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

第1回 オリエンテーション

7

Page 8: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

Monacaのアカウント登録

8

Page 9: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

Monaca のアカウント登録

1) 公式サイト URL にアクセス

https://ja.monaca.io/

第1章

9

Page 10: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

Monaca のアカウント登録

2) 「サインアップ」からメールアドレスとパスワードを登録

第1章

10

Page 11: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

Monaca のアカウント登録

3) 仮登録完了メールを確認

メールに記載されたURL にアクセス

登録完了

第1章

11

Page 12: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

ダッシュボードとプロジェクト

12

Page 13: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

Monaca ダッシュボードとプロジェクト

ログインとダッシュボードの表示

開発中のアプリはプロジェクト単位で管理を行う

└ 画面左側に一覧表示される

第1章

13

Page 14: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

Monaca ダッシュボードとプロジェクト

新規プロジェクト作成

1)『新規プロジェクト』ボタンをクリック

2)プロジェクト名を設定

3)『プロジェクトを作成する』ボタンをクリック

第1章

14

Page 15: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

Monaca ダッシュボードとプロジェクト

プロジェクト一覧に表示されれば成功

プロジェクト名

└ 自由に設定可能

└ 後で管理しやすいように気をつける

第1章

15

Page 16: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

Monaca IDEの使い方

16

Page 17: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

プログラムを記述する

Monaca IDE

IDEは統合開発環境の略

正式には「Integrated Development Environment」

第1章

17

Page 18: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

プログラムを記述する

コードエディター

プログラムを記述するためのパネル

第1章

18

Page 19: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

プログラムを記述する

メニューバー

各種機能を呼び出す

└ 保存

└ ダウンロード

└ ビルドなど

第1章

19

Page 20: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

プログラムを記述する

プレビュー

プログラムの実行結果が表示されます。

第1章

20

Page 21: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

プログラムを記述する

はじめてのプログラム

「This is a template for Monaca app.」を削除

「はじめてのプログラム」と記述

メニューバーの[保存]をクリック

第1章

21

Page 22: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

プログラムを記述する

プレビューの更新

[保存]と連動してプレビュー画面が自動更新される

自動で更新されない場合

└ プレビュー画面右上の青い矢印ボタンをクリック

第1章

22

Page 23: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

Monacaデバッガーの利用

23

Page 24: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

Monaca デバッガーの利用

Monaca デバッガーとは

アプリの動作を確認するツール

プレビューより高度な動作確認が可能

└ カメラやコンパスなどのハードウェア機能

第1章

24

Page 25: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

Monaca デバッガーの利用

Monaca デバッガーのメニュー

プロジェクトを開きアプリの動作を確認

丸いMonacaボタンはメニュー

└ 更新やログの確認が可能

第1章

25

Page 26: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

Educationプランの有効化

26

Page 27: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

プランのアップグレード

Educationプランとは

作成可能なプロジェクト数が20件に増えます。

共有開発機能が利用可能になります。

• Monacaにログインし、ダッシュボード下部の「アクティベーション

コード」ボタンをクリックします。

27

Page 28: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

プランのアップグレード

28

氏名、電話番号(学校の番号)を入力します。

Page 29: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

プランのアップグレード

29

書籍の裏表紙についているカードを剥がし、裏面に記載さ

れている16桁のアクティベーションコードを入力します。

Page 30: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

プランのアップグレード

30

「適用する」ボタンを押したら完了です。

Page 31: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

プランのアップグレード

31

「ダッシュボード」をクリックして前の画面に戻ります。

Page 32: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

第2回 おみくじアプリを作ろう

32

Page 33: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

おみくじアプリを作成する

サンプルアプリ開発を通じて、HTML/CSS/JavaScriptの

役割を確認します。

おみくじを模したアプリケーション

ボタンを押すとランダムな画像を表示する

33

Page 34: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

必要な技術

Monacaでモバイルアプリを開発するには、Webの技術で

あるHTML・CSS・JavaScriptの知識が必要になります。

HTML(文書構造)

CSS(文書の装飾)

JavaScript(動きをつける)

34

Page 35: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

事前準備

下記のURLにアクセスして素材となるZIPファイルを入手

してください。

■ 素材集ページ

https://ja.monaca.io/book/001/

おみくじアプリの「ひな形」をクリックしてダウンロード

します。

35

Page 36: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

新しいプロジェクトを作成する

Monaca に ロ グ イ ン し 、 ダ ッ シ ュ ボ ー ド で 「 Import

Project」ボタンを選択します。

36

Page 37: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

新しいプロジェクトを作成する

1.名前と説明(任意入力)を設定して新規プロジェクトを

作成します

プロジェクト名:おみくじアプリ

2.「プロジェクトのパッケージをアップロード」ラジオボ

タンにチェックを入れ、先ほどダウンロードしたzipファ

イルを指定します。

3.「インポート」ボタンをクリックします。

37

Page 38: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

HTMLタグの確認

Monaca IDEのindex.htmlの<body>タグ内を確認して

ください。

<body>

<img src="images/omikuji-box.png" id="omikuji">

<button id="playBtn" onclick="play()">おみくじをひく</button>

</body>

38

Page 39: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

HTML

HTMLでは、コンテンツ(ページに表示する内容)を見出

しや段落などのパーツに分け、それぞれを1つの部品とし

て構成しています。この部品を「要素」と呼びます。

<h1> HTML入門 </h1>

開始タグ終了タグ

要素

タグは半角英数小文字で記述

終了タグには「 / 」が入る

開始タグから終了タグまでを「要素」と呼ぶ

39

Page 40: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

<body>タグ内に記述するタグの種類

主なタグの一覧

40

タグ名 概要

h1見出しを定義します。h1~h6まであり、h1が最も高レベル、h6が最

も低レベルな見出しです。

img画像を参照します。

src属性・・・画像の参照先を指定します。

div特に意味を持たないタグです。複数のタグをまとめて扱うときや、四角い枠を描画したいときに使います。

aリンクを定義します。

href属性・・・リンク先のURLを指定します。

button ボタンを定義します。

Page 41: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

タグの属性

要素対して「属性」をつけることで、付加情報を与えるこ

とができます。

<h1 id="guide_to_html"> HTML入門 </h1>

属性名

属性

属性値

<h1>タグに要素を識別するためのID属性を指定しています。

IDの他にも、適用するCSSや画像のパス、リンク先のURLなど様々な属性を指

定できます。

属性値は「"」(ダブルクォート)か「'」(シングルクォート)で囲みます。

41

Page 42: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

CSSの確認

css/style.cssの記述を確認してください

body {

background-image : url("../images/omikuji-bg.png");

background-size : cover;

background-repeat: no-repeat;

margin : 0;

padding : 0;

height: 100%;

width: 100%;

text-align: center;

}

#omikuji{

margin: 20px;

width : 60%;

}

#playBtn {

width: 60%;

padding: 10px;

font-size: 22px;

border-radius: 10px;

background-color: #444444;

color: white;

outline: none;

}

42

Page 43: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

CSSとは

CSS(Cascading Style Sheets)とは

HTML文章を装飾するための技術

色やサイズなどを変更できる

43

HTML(文書構造)

CSS(文書の装飾)

HTMLファイルにCSSファイルを読み込むことで、ページにデザインが適用される

Page 44: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

CSSとは

CSSをHTMLファイルに読み込む方法(外部ファイル)

linkタグを記述

href属性でパスを指定する

44

<link rel="stylesheet" href="css/style.css">

<link rel="stylesheet" href="CSSファイルのパス">

文法 CSSファイルの読み込み

Page 45: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

CSSの記述構造(セレクタ・プロパティ・値)

CSSを指定する記述は、スタイル(デザイン)を適用する

対象の「セレクタ」と、スタイルの種類を表す「プロパ

ティ」の組み合わせによって構成されます。

h1 { color: red; }

セレクタ スタイルを適用する対象(タグ名、クラス名、IDなどを指定できます)

プロパティ 色やサイズなどの、スタイルの種類

値 属性の値

セレクタ プロパティ 値

45

Page 46: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

色を指定するプロパティ

プロパティ 説明 例

color 文字色を設定します。 color: red;

background-color 背景色を設定します。 background-color: red;

プロパティの種類

46

Page 47: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

色の指定方法

カラーコード

光の三原色で色を作る方法

カラーコードでは16進数を使う

カラーコードの例

紫の色を作る

└ 赤がff(255)緑が00(0)青がff(255)

└ 原色の赤と青を混ぜた色=紫になる

47

#ff00ff

Page 48: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

サイズや位置を指定するプロパティ

プロパティ 説明 例

font-size 文字のサイズを設定します。font-size: 12px;

text-align要素内の横方向の配置を設

定します。

text-align: left;(左寄せ)text-align: right;(右寄せ)text-align: center;(中央揃え)text-align: justify;(均等割付)

width 要素の横幅を設定します。 width: 100px

height 要素の高さを設定します。 height: 300px;

margin枠線の外側の余白を設定します。

margin: 20px;

padding枠線の内側の余白を設定します。

padding: 10px;

プロパティの種類

48

Page 49: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

プロパティの種類

marginとpadding

どちらも余白の幅を指定するプロパティ

marginはborder(枠線)の外側の余白

paddingはborderの内側の余白

49

要素

内容内容内容内容内容内容内容内容内容内容内容内容

margin padding

Page 50: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

背景に関するプロパティ

プロパティ 説明 例

background-image 背景画像を設定します。

background-image: url("

画像のパス");

background-size背景画像の表示サイズを設

定します。

background-size: cover;

※coverは背景領域を完全に覆うように、拡大表示します。

background-repeat

背景画像を繰り返し表示するかどうかを設定します。

background-repeat: no-repeat;

※no-repeatは、背景画像を一枚だけ表示します。

プロパティの種類

50

Page 51: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

パスの指定方法

パスの指定方法

対象ファイルまでの位置を相対的に指定する方法

└ フォルダ間の区切り文字に「/」を使用

└ 上位のフォルダは「..」で表す

51

いまここ

一つ上(..)

Page 52: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

枠線に関するプロパティ

プロパティ 説明 例

border線の色(および線種と線 の太さ)を設定します。

border: solid 1px red;

線種、線の太さ、線の色の順に 設定します。

※solidは直線を表します。

border-radius四角形の枠の角を丸くする

設定をします。border-radius: 10px;

outline 枠の縁取りを設定します。

outline: none;

※noneは縁取りを表示しない設定です。これを指定しないと、スマホではボタンの周りにオレンジの枠が表示されてしまいます。

プロパティの種類

52

Page 53: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

border-radiusの設定

border-radiusの設定

border-radiusに10pxを指定すると、以下のように半径10px

分のカーブがつきます。

53

Page 54: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

結果を表示する方法

HTMLとCSSだけでは、おみくじに使うランダムな値を生

成することができません。

JavaScriptを用いて、ランダムに結果が表示されるよう改

良していきます。

54

Page 55: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

スクリプトの実装

<script>タグ内にJavaScriptを記述します。

<script>

function play() {

var no = Math.floor(Math.random() * 5);

var image_name;

if (no == 0) {

image_name = "daikichi.png";

} else if (no == 1) {

image_name = "chuukichi.png";

} else if (no == 2) {

image_name = "shoukichi.png";

} else if (no == 3) {

image_name = "suekichi.png";

} else {

image_name = "kyou.png";

}

alert("おみくじが出ました!さて結果は?");

document.getElementById("omikuji").src = "images/" + image_name;

document.getElementById("playBtn").innerHTML = "やりなおす";

}

</script>

55

Page 56: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

JavaScr iptの書き方

JavaScript書き方のルール

基本的に半角の英数字と記号のみを使用する

└ 「'」か「"」で囲まれた範囲と、コメント「//」のみ全角文字も可

大文字と小文字は別の文字として扱われる

命令文の末尾には「;」をつける。

ひとまとまりの命令群を波かっこ{ } で囲む

└ 囲まれた範囲をブロックと呼ぶ

└ ブロック内は、先頭にタブ文字(tabキー)を挿入してブロックの

開始と終了がわかりやすいように記述する

改行や半角スペースは自由に挿入できる

56

Page 57: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

JavaScr ipt -イベント-

イベントとは

ページ上で発生した出来事(ページが表示された、ボタンがクリック

された等)のことをイベントといいます。

ボタンがタップされたときのイベントの名称は「click」イベントです。

ブラウザ イベントハンドラ JavaScript

click

① イベントが発生する

② イベントハンドラがイベントの発生を検知する

③ イベントハンドラに関連付けられた処理が呼び出される

イベント発生時の流れ

57

Page 58: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

JavaScr ipt -イベントハンドラ-

イベントハンドラ

イベントハンドラは、イベントとJavaScriptの処理を関連付ける仕組

みです。

HTMLタグの属性として記述します。

イベントハンドラの名前は、「on + イベント名」です。

<script>function sayHello() {

alert("Hello!");}

</script>

<body><button onclick="sayHello();">おしてね!</button>

</body>

イベントハンドラの例

58

Page 59: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

JavaScr iptの文法 -関数-

関数とは

一連の処理をまとめて名前をつけたものを関数といいます。

処理を関数として定義しておくことで、必要なときに何度でも呼び出

すことができます。

function 関数名 () {

実行される処理;

}

関数の作り方

関数名() ;

関数の呼び出し方

59

Page 60: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

JavaScr iptの文法 -変数-

変数とは

データを一時的に入れておくための箱のような仕組みです。

変数を利用する前の準備として、まず変数の「宣言」を行います。

変数に値を入れることを「代入」といいます。

var a; …①

a = 10; …②

a = 20; …③ a

① aという名前の変数が作られる

② 変数aの中に10 が代入される

10a

③ 変数aの中身が20に上書きされる

20a10×NEW

var 変数名;

宣言の書式

変数 = 値;

代入の書式

60

Page 61: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

ランダムに結果を出す方法を考える

ランダムな値を得る方法

Math.random()関数を呼ぶと、0から0.99999(1未満)の範囲の実数を返しま

す。

その結果を5倍し、Math.floor()関数で小数部分を切り捨てます。これによっ

て0~4の5通りの数字が作られます。

■ ランダム関数の使用例

Math.floor(Math.random() * 5)

61

Page 62: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

JavaScr iptの文法 - 条件分岐 -

条件分岐

条件が正しいときと正しくないときで、処理内容を振り分ける仕組み

です。

else if文は複数指定することができます。

└ 複数の条件式に合致する場合、実行されるのは最初に合致した条件のみです

if (条件式1) {

// 条件式1がtrueの場合に実行する処理

} else if (条件式2) {

// 条件式2がtrueの場合に実行する処理

} else {

// すべての条件式がfalseの場合に実行する処理

}

条件分岐の例

62

Page 63: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

ダイアログメッセージの表示

ダイアログの表示

ページの前面に表示されるメッセージウィンドウを「ダイアログ」と

いいます。

63

alert("こんにちは");

Page 64: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

DOM

DOMとは

DOM(Document Object Model)の略

JavaScriptでHTMLの各要素にアクセスする仕組みです

64

HTML要素へのアクセス

文法 要素へのアクセス

document.getElementById("ID値")

Page 65: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

DOM

要素の内容変更

65

文法 内容の変更

document.getElementById("ID値").innerHTML = "書き換える内容";

要素の属性変更

文法 属性の変更

例 画像を「flower.jpg」に切り替える

document.getElementById("ID値").属性名 = "属性値";

document.getElementById("target").src = "flower.jpg";

Page 66: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

第3回 おみくじアプリを改造しよう

66

Page 67: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

プログラムがうまく動かないときは

67

Page 68: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

プログラムがうまく動かないときは

68

文法エラーの確認

Monacaデバッガーでプロジェクトを実行すると、文法にエラーが

あった場合にエラーメッセージが表示されます。

index.htmlの33行目付近でエラー発生

Page 69: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

プログラムがうまく動かないときは

文法エラー以外のバグ(プログラムの間違い)を探すには

文法は間違っていないが、プログラムが意図した通りに動かない、と

いう場合はエラーを検出することができません。

69

if (no == 0) {

image_name = "daikichi.png";

} else if (no == 1) {

image_name = "chuukichi.png";

} else if (no == 2) {

image_nama = "shoukichi.png";

} else if (no == 3) {

image_name = "suekichi.png";

} else {

image_name = "kyou.png";

}

なぜか小吉だけ出ない!

Page 70: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

プログラムがうまく動かないときは

意図した通りに動かない原因を探す方法

alert()命令をプログラムの途中に差し込んで、どこから動きがおかし

くなっているのか見当をつけます。

70

alert(no);

if (no == 0) {

image_name = "daikichi.png";

} else if (no == 1) {

image_name = "chuukichi.png";

} else if (no == 2) {

image_nama = "shoukichi.png";

} else if (no == 3) {

image_name = "suekichi.png";

} else {

image_name = "kyou.png";

}

alert(image_name);

Page 71: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

プログラムがうまく動かないときは

console.log

alert()をconsole.log()に変えるとダイアログではなく、編集画面下

のデバッグパネルに表示されます。

71

console.log(no);

if (no == 0) {

image_name = "daikichi.png";

} else if (no == 1) {

image_name = "chuukichi.png";

} else if (no == 2) {

image_nama = "shoukichi.png";

} else if (no == 3) {

image_name = "suekichi.png";

} else {

image_name = "kyou.png";

}

console.log(image_name);

Page 72: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

端末固有の機能を使ってみよう

72

Page 73: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

端末固有の機能を使ってみよう

通常、モバイルアプリはOSごとに異なるプログラム言語を

使って開発します。

このようにして作られたアプリを「ネイティブアプリ」と

呼びます。

× ×

73

Page 74: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

OSに対応する言語

端末固有の機能を使ってみよう

端末固有の機能の呼び出し

Monacaで作られたアプリは、HTML・CSS・JavaScriptファイルを

OSに対応する言語で包んだ形式になっています。

端末固有の機能を利用する場合、JavaScriptで命令を記述すると、

OSに合わせた言語に置き換えられて命令が実行されます。

連絡帳GPSカメラ

HTML・CSS・JavaScript

OS

74

Page 75: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

端末固有の機能を使ってみよう

navigator.vibrate(振動時間);

※振動時間はミリ秒単位で指定

バイブレーション機能の利用

バイブレーション命令

75

Page 76: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

端末固有の機能を使ってみよう

おみくじが出たときにバイブレーションする

以下の命令を追加します。

76

alert("おみくじが出ました!さて結果は?");

// 1秒間振動させる

navigator.vibrate(1000);

// 画像と文字列の差し替え

document.getElementById("omikuji").src = "images/" + image_name;

document.getElementById("playBtn").innerHTML = "やりなおす";

Page 77: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

結果の出現確率を変更しよう

77

Page 78: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

結果の出現確率を変更しよう

大吉が出る確率を増やすには・・・?

78

Page 79: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

結果の出現確率を変更しよう

OR演算子(||)

複数の条件のうちいずれかに合致したときにtrue(正しい)となる

すべての条件に合致しない場合はfalse(正しくない)となる

79

if(x == 1 || x == 2 || x == 3) {

alert("xは1か2か3のどれか");

}

Page 80: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

結果の出現確率を変更しよう

AND演算子(&&)

複数の条件がすべてに合致したときにtrue(正しい)となる

どれか一つでも合致しない場合はfalse(正しくない)となる

80

if(x >= 1 && x <= 3) {

alert("xは1以上でかつ、3以下");

}

Page 81: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

おみくじをひいた数をカウントしよう

81

Page 82: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

おみくじを引いた数をカウントしよう

カウント機能の実装

おみくじを引いた数をカウントするための変数を用意します。

関数の中で変数を宣言すると、一度関数が終了したら変数の値はリ

セットされてしまいます。

間違った例

82

function play() {

var count = 0; // 初期値0としてcount変数を作る

count++; // countを1加算

…省略…

} // 関数が終わったら、count変数は消えてしまう

Page 83: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

おみくじを引いた数をカウントしよう

グローバル変数

関数の外側で宣言された変数は「グローバル変数」となります。

「グローバル変数」の値は、アプリを起動してからアプリを終了する

までの間、ずっと保持され続けます。

83

var count = 0; // グローバル変数として宣言

function play() {

count++; // countを1加算

…省略…

}

Page 84: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

おみくじを引いた数をカウントしよう

N回に一度、という条件の指定方法

剰余算(割り算のあまりを求める)を使います。

N回に一度だけ処理をしたい場合は、Nで剰余算した結果が0だった

場合にのみ処理をします。

84

alert(10 % 3); // 10を3で割ったあまり=1が表示される

alert(10 % 5); // 10を5で割ったあまり=0が表示される

Page 85: 書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)

Copyright © Asial Corporation. All Rights Reserved.

課題

20回に一回だけ、スーパーレア大吉を出現させよう!

85

画像は以下からダウンロードして下さい

http://bit.ly/2gtCrj7