Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Check these out next
自作ゲームをWebpack対応させてみた
Yuusuke Takeuchi
Cibc work kokawa
Takashi Kokawa
うわ…私のEmacs力、低すぎ...?
Masahiro Sano
早く家へ帰るための Grunt入門 [+gulp紹介]
Masayuki Maekawa
全部入り!WGPで高速JavaScript+HML5体験
AdvancedTechNight
Gruntの罪と罰
kamiyam .
XenServerによるお手軽開発サーバ運用
Shinya Okano
Babelで先取り次世代javascript
Tsuyoshi Maeda
1
of
33
Top clipped slide
【PlayCanvas×NCMB 勉強会+ハンズオン】HTML5ゲームにバックエンド機能をらくらく追加!ハンズオン(2017/09/05講演)
Oct. 4, 2017
•
0 likes
0 likes
×
Be the first to like this
Show More
•
374 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Engineering
2017/9/5公開
PlayCanvas運営事務局
Follow
GMOクラウド株式会社 - PlayCanvas運営事務局 at PlayCanvas運営事務局
Advertisement
Advertisement
Advertisement
Recommended
【GTMF2017】PlayCanvas新機能( 2017/6/30,7/14講演)
PlayCanvas運営事務局
372 views
•
41 slides
jenkinsで遊ぶ
(^-^) togakushi
17.3K views
•
30 slides
Jenkins と groovy
Kohsuke Kawaguchi
7.8K views
•
38 slides
jsCafe v13 Grunt
Shinya Sugo
5.2K views
•
48 slides
Github codespaces すごく良い。もうこれで 十分なんじゃという話
xiidec
590 views
•
12 slides
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
Issei Hiraoka
642 views
•
31 slides
More Related Content
Slideshows for you
(20)
自作ゲームをWebpack対応させてみた
Yuusuke Takeuchi
•
2.3K views
Cibc work kokawa
Takashi Kokawa
•
7.6K views
うわ…私のEmacs力、低すぎ...?
Masahiro Sano
•
9K views
早く家へ帰るための Grunt入門 [+gulp紹介]
Masayuki Maekawa
•
6.4K views
全部入り!WGPで高速JavaScript+HML5体験
AdvancedTechNight
•
1.8K views
Gruntの罪と罰
kamiyam .
•
2.4K views
XenServerによるお手軽開発サーバ運用
Shinya Okano
•
4.9K views
Babelで先取り次世代javascript
Tsuyoshi Maeda
•
2.4K views
邪道Jenkins
hazisarashi
•
18.8K views
Al mininum 47redmine-2nd
mikoto20000
•
11.3K views
Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)
kojiokb
•
1.2K views
Google Cloud Messaging for Android ことはじめ(もっと簡単に動かしてみる編)
kojiokb
•
2.1K views
Grunt入門
Tsuyoshi Maeda
•
1.1K views
Native Extensionのビルドどうしてますか?
Misao X
•
2.5K views
20130723 ecシステムにchefを導入してみた v1.0
NIFTY Cloud
•
2.2K views
Azure PlayFab Unity SDK vs C# SDK
YutoNishine
•
1.6K views
Reactとbabelで簡易タスク管理ツール作ってみた
Tsuyoshi Maeda
•
2K views
C# CloudScript Azure Functions との連携
YutoNishine
•
283 views
JSでファミコンエミュレータを作った時の話
sairoutine
•
29.3K views
日曜プログラマーが 1週間くらいで通信対戦ゲームを作ってみた
Yuusuke Takeuchi
•
41.5K views
Similar to 【PlayCanvas×NCMB 勉強会+ハンズオン】HTML5ゲームにバックエンド機能をらくらく追加!ハンズオン(2017/09/05講演)
(20)
OpenStack の利用
Akira Yoshiyama
•
1.9K views
Visual Studioで始めるTypeScript開発入門
Narami Kiyokura
•
14.6K views
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
Takao Tetsuro
•
482 views
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
•
21.4K views
OpenStack on OpenStack with CI
kanabuchi
•
3.7K views
GruntでJavaScript 前作業の自動化!
leverages_event
•
1.4K views
AWS Black Belt Online Seminar AWS上のJenkins活用方法
Amazon Web Services Japan
•
19.8K views
Azure Antenna AI 概要
Miho Yamamoto
•
1.1K views
Jenkinsstudy#4kokawa
Takashi Kokawa
•
9.8K views
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
Akira Inoue
•
3.9K views
.NET Coreから概観する.NETのOSSへの取り組み
Kouji Matsui
•
5.6K views
もろもろの AI ツールを Windows のローカル環境にインストールする手順
Hide Koba
•
595 views
後期第二回ネットワークチーム講座資料
densan_teacher
•
280 views
Wasm blazor and wasi 2
Takao Tetsuro
•
350 views
Nano Server First Step
Kazuki Takai
•
1.6K views
Eight meets AWS
Tetsuya Mase
•
6.8K views
Awsで実現するseleniumテスト高速術
finoue
•
90.6K views
(続) はじめてのCloud Foundry
Tomohiro Ichimura
•
2.3K views
静的解析Klocwork とJenkins CIの連携
Masaru Horioka
•
1.7K views
IBM Rational Team Concertに触れてみた
You&I
•
1.8K views
Advertisement
Recently uploaded
(20)
★可查可存档〖制作波恩大学文凭证书毕业证〗
tujjj
•
9 views
☀️《Curtin毕业证仿真》
hjhgg1
•
2 views
72亚历山大学院.pdf
fdhrtf
•
2 views
SPECIALIZED heavy racks.pdf
FernandoRivasCortes1
•
2 views
☀️《SLC毕业证仿真》
hjhgg1
•
2 views
★可查可存档〖制作贝桑松大学文凭证书毕业证〗
tujjj
•
2 views
★可查可存档〖制作奥克兰商学院文凭证书毕业证〗
tujjj
•
2 views
★可查可存档〖制作密德萨斯大学文凭证书毕业证〗
vgfg1
•
2 views
★可查可存档〖制作魁北克大学文凭证书毕业证〗
mmmm282537
•
2 views
☀️《Bournemouth毕业证仿真》
fggg13
•
2 views
★可查可存档〖制作巴黎第十二大大学文凭证书毕业证〗
tujjj
•
3 views
★可查可存档〖制作乌尔姆大学文凭证书毕业证〗
tujjj
•
18 views
法国:蒙彼利埃大学毕业证办理流程
cyvyvgk
•
3 views
☀️《UMCP毕业证仿真》
DFFFFG
•
2 views
★可查可存档〖制作菲莎河谷大学文凭证书毕业证〗
mmmm282537
•
2 views
28西澳.pdf
dsadasd17
•
2 views
美国:伦斯勒理工学院毕业证办理流程
amdfot
•
2 views
AI予約サービスのMLOps事例紹介
Takashi Suzuki
•
4 views
W&B Seminar #4.pdf
Akira Shibata
•
289 views
ChatGPTをもっと使いたい.pptx
TokioMiyaoka
•
338 views
【PlayCanvas×NCMB 勉強会+ハンズオン】HTML5ゲームにバックエンド機能をらくらく追加!ハンズオン(2017/09/05講演)
PlayCanvas運営事務局 富士通クラウドテクノロジーズ株式会社
ハンズオン・アジェンダ • Section 1.導入 –
プロジェクト作成 – PlayCanvas Editorの説明 – ゲーム実行 – スマホで実行 • Section 2.環境構築 – ワークショップ用フォルダ作成 – NCMBアカウント作成 – NCMBダッシュボードの説明 – ncmb.min.jsダウンロード – プロジェクトへアップロード – PlayCanvasでの外部jsライブラリの使用 – Script Loading orderの設定 • Section 3.実装 – KEEPY UPのイベントフローの説明 – ランキングのためのスクリプト新規作成 – ランキング表示用のHTML,CSS作成 – UIオブジェクトにスクリプトをアタッチ – PlayCanvasスクリプトの基本説明 – スクリプト記述 – 簡単な実装の説明 – NCMBメソッドの説明 – 実行 – NCMBダッシュボードを確認して格納されている ことを確認 • Section 4.パブリッシュ – 共通のNCMBトークンに変更して同じDBにする – パブリッシュ – 実行して終了
Section 1. 導入
1.プロジェクト作成 • まず最初にプロジェクトをフォークします – https://playcanvas.com/project/406050/overview/sample-game-keepy-upにアクセスして 右上のForkをクリック
2.エディターを開く • EDITORを開きます
3.PlayCanvas Editor Editorを起動すると右のような画面になります。 PlayCanvasはスクリプト作成以外の作業をこのEditor から操作することができます。 Editorの構成は右図のようになっています。 1. ビューポート(VIEWPORT) シーンビューには製作中のゲーム世界(シーン)が表示 され、自由な位置・角度から眺めることができます。 2.
インスペクター(INSPECTOR) シーンの中で選択肢中のオブジェクトが持つ属性を表 示・編集するためのビューです。 属性には座標やメッ シュといった見た目上のものから、衝突判定や物理制御 に関するパラメーターなどもあり、その他ユーザー定義 のものもここに表示されます。 3. ヒエラルキー(HIERARCHY) シーン内に存在するオブジェクトの一覧が表示されます。 編集中のシーン内でオブジェクトをコピー/ペーストし たり、適切な名前をつけて整理することもできます。 4. アセット(ASSETS) 製作中のプロジェクト(ゲーム全体)に含まれるモデル、 スクリプト、グラフィックやサウンドなどのデータ、そ の他のリソースがファイル単位で表示されます。 5. メニュー(MENU) シーンのビューモードやプロジェクトセッティング等の 作業が行えます。
4.ゲームの実行 • VIEWPORT上部にあるLAUNCHからゲームが実行できます – いくつかパラメータがありますが基本はデフォルトでOK –
プロファイラなんかもあります
5.ゲームプレイ • LAUNCHを選択すると別タブでゲームが実行されます – クリックするとゲーム開始、ボールを落とさないようにしてスコアを稼ぐミニゲームです •
スマートフォンで実行 – 実行URLをスマートフォンに渡して実行します。 – タップでゲームを遊ぶことができます • 今回のハンズオンでは、 このゲームにランキング機能を実装します!
Section 2 .
環境構築
6.ワークショップ用フォルダ作成 • 作業用のフォルダを作成します – Assetsから新規フォルダーを作成 –
Inspectorから名前を「workshop」に変更します
7.NCMBアカウント作成 • mBaaSで検索をしてNCMBの Webサイトを開く • NCMBアカウントの取得を行う
8.NCMBアカウント作成
9.NCMBアカウント作成 • 利用登録が終わるとアプリの新規作成 画面が表示される • アプリ名を入力して新規作成します 「html5_1709」と 入力してください この2つのキーは 後ほど使います •
アプリケーションキーとクライアントキーを使い、 サーバー接続の認証を行っている • 2つのキーがアプリ作成時に生成されます
10.NCMBダッシュボードの説明 ダッシュボード NCMBの管理画面 APIリクエスト数をグラフで閲覧 することや、各種設定を行うこ とが出来る 今回NCMBを用いて作るものは ランキング機能 つまり、データを保存するデー タストアを利用します
11.NCMBダッシュボードの説明 データストア まだデータを登録しておらず、 クラスもデータも存在しない それではNCMBにデータを登録 していく作業を進めていきま しょう! 空っぽ!
12.ncmb.min.jsダウンロード • 右記のURLより CloneまたはDLします • npmも使えます •
DLが完了したら適当な フォルダに解凍します https://goo.gl/3gsR9U $ npm install ncmb -S
13.プロジェクトへアップロード • NCMBのJavaScript SDKをプロジェクトにアップロードします –
ncmb.min.jsをworkshopフォルダへドラッグ&ドロップ
14.PlayCanvasでの外部JSライブラリの扱い • PlayCanvasでは外部JavaScriptライブラリが使用可能です! – NCMBをはじめ、jQuery,
Photonなどなど… – ライブラリ全体でアップロード可能なもののみ使用できます! – playcanvas.com(開発環境)では<script>タグで外部参照することはできません! • 外部ライブラリを使用する際は呼び出し順に注意 – Menu > Setting > SCRIPTS LOADING ORDER – ライブラリをまず先に呼び出す必要があります – ncmb.min.jsを#1に変更します
Section 3 .
実装
15.KEEPY UPのイベントフロー • KEEPY
UPでは3つのイベントがあります – game:start タイトルから、ゲームが始まったとき – game:gameover ゲームオーバーになったとき – game:reset タイトルに戻ったとき • スクリプト – game.js ゲーム進行を管理 – input.js 入力を制御 – ball.js ボールの物理を制御 – font.js フォントを管理 – sprite.js スプライトを表示 – ui-xxx.js ui周りの制御
16.KEEPY UPへランキングの実装 • KEEPY
UPでは3つのイベントがあります – game:start タイトルから、ゲームが始まったとき – game:gameover ゲームオーバーになったとき – game:reset タイトルに戻ったとき • ランキング実装 – game:gameover時にスコアを送信 ランキングを取得、UI表示 – game:start時にUI非表示 TITLE INGAME RESULT game:start game:gameover game:reset
17.ランキング用スクリプト作成 • スクリプトを新規作成します – AssetsからAdd
asset - > script – 名前を[ ranking.js ]に
18.ランキング表示用のHTML, CSSを作成 • 表示のためのHTML,
CSSを作成します – ASSETSの[+]からHTML, CSSアセットをそれぞれ作成 – 名前を変更 [New Html] -> [index] [New Css ] -> [style]
19.作成したスクリプトのアタッチ • スクリプトを動作させる – HIERARCHYから[UI]を選択し、ADD
COMPONENT -> SCRIPT – ADD SCRIPT から先ほど作成した [ranking]を追加します
20.ランキングスクリプトの作成 • Editを選択し、ranking.jsを開きます – 基本的なメソッドは3つ •
initialize 最初に実行 • update 毎フレーム実行 • swap ホットリローディング時 実行される – 以下ファイルをコピー&ペースト • ranking.js • index • style
21.スクリプトの詳細 • L12 -
username = window.prompt("Input your name"); – JavaScriptのwindowオブジェクトを使うことができます。 window.promptメソッドでテキストボックスつきのモーダルウィンドウを実装できます • L14 - localStorage.setItem("name",username); – Webブラウザから簡易的なストレージを使用するWebストレージにも対応しています。 セッションストレージ,ローカルストレージ両対応。くわしくはこちら • L19 - this.app.on("game:gameover", function () {}; – イベントハンドラの作成も手軽にできます • L22 - self.ranking(self.entity.children[2].script.uiGameover._score,6); – 外部オブジェクトやスクリプト内の変数にアクセスすることができます。 – このほかにもthis.app.root.find()等オブジェクトを探すメソッドもあります
22.スクリプトについて (NCMB) • L2
- var ncmb = new NCMB(“”, “”); – アプリの新規作成時のAPIキーに置き換えます APIキー発行画面を閉じてしまった場合は、「アプリ設定」>「基本」で確認できます • L35 - var TestClass = ncmb.DataStore("TestClass"); – データストアの保存先「TestClass」というクラスを作成します – クラス名はRDBでいうテーブル名に該当します • L39 - testClass.set(“score”, score); testClass.set("name",username); – 「score」というフィールドに score 変数、「name」というフィールドに username 変数をセットします • L35 – testClass.save(); – 最後に保存処理を行います
23.実行! • 実行すると格納 &
表示が行われる – ランキングを更新するとハイライトで表示
24.NCMBのダッシュボード • ダッシュボードのTestClassに確認して格納されていることを確認
Section 4 .
パブリッシュ
25.NCMBトークンを変更 • 参加者で同一トークンを利用してランキング作成 – ranking.jsの記載したキーを下記に変更します –
アプリケーションキー: 829157cb2d1b452794fd4b2b6fa7f949cea0393c3812d09a9f9938b168aab7e3 – クライアントキー: 9f70e40b0b9227a921254a437f50959cbfeb62b0c9dc85853bf3244360ac5ea2
26.パブリッシュ • ゲームを公開する – Manage
Scene > PUBLISH > PUBLISHでPlayCanvas上で公開
27.パブリッシュ • パブリッシュするとリンクが発行されます! – 発行されたリンクからゲームを配布可能
Advertisement