Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Ryo Shimizu
4,692 views
enchant.js meetup Tokyo vol.2 Tutorial
enchant.js meetup Tokyo vol.2
Technology
◦
Read more
15
Save
Share
Embed
Embed presentation
Download
Downloaded 116 times
1
/ 165
2
/ 165
3
/ 165
4
/ 165
5
/ 165
6
/ 165
7
/ 165
8
/ 165
9
/ 165
10
/ 165
11
/ 165
12
/ 165
13
/ 165
14
/ 165
15
/ 165
16
/ 165
17
/ 165
18
/ 165
19
/ 165
20
/ 165
21
/ 165
22
/ 165
23
/ 165
24
/ 165
25
/ 165
26
/ 165
27
/ 165
28
/ 165
29
/ 165
30
/ 165
31
/ 165
32
/ 165
33
/ 165
34
/ 165
35
/ 165
36
/ 165
37
/ 165
38
/ 165
39
/ 165
40
/ 165
41
/ 165
42
/ 165
43
/ 165
44
/ 165
45
/ 165
46
/ 165
47
/ 165
48
/ 165
49
/ 165
50
/ 165
51
/ 165
52
/ 165
53
/ 165
54
/ 165
55
/ 165
56
/ 165
57
/ 165
58
/ 165
59
/ 165
60
/ 165
61
/ 165
62
/ 165
63
/ 165
64
/ 165
65
/ 165
66
/ 165
67
/ 165
68
/ 165
69
/ 165
70
/ 165
71
/ 165
72
/ 165
73
/ 165
74
/ 165
75
/ 165
76
/ 165
77
/ 165
78
/ 165
79
/ 165
80
/ 165
81
/ 165
82
/ 165
83
/ 165
84
/ 165
85
/ 165
86
/ 165
87
/ 165
88
/ 165
89
/ 165
90
/ 165
91
/ 165
92
/ 165
93
/ 165
94
/ 165
95
/ 165
96
/ 165
97
/ 165
98
/ 165
99
/ 165
100
/ 165
101
/ 165
102
/ 165
103
/ 165
104
/ 165
105
/ 165
106
/ 165
107
/ 165
108
/ 165
109
/ 165
110
/ 165
111
/ 165
112
/ 165
113
/ 165
114
/ 165
115
/ 165
116
/ 165
117
/ 165
118
/ 165
119
/ 165
120
/ 165
121
/ 165
122
/ 165
123
/ 165
124
/ 165
125
/ 165
126
/ 165
127
/ 165
128
/ 165
129
/ 165
130
/ 165
131
/ 165
132
/ 165
133
/ 165
134
/ 165
135
/ 165
136
/ 165
137
/ 165
138
/ 165
139
/ 165
140
/ 165
141
/ 165
142
/ 165
143
/ 165
144
/ 165
145
/ 165
146
/ 165
147
/ 165
148
/ 165
149
/ 165
150
/ 165
151
/ 165
152
/ 165
153
/ 165
154
/ 165
155
/ 165
156
/ 165
157
/ 165
158
/ 165
159
/ 165
160
/ 165
161
/ 165
162
/ 165
163
/ 165
164
/ 165
165
/ 165
More Related Content
PDF
enchant.jsでゲーム制作をはじめてみよう 「パンダの会」バージョン
by
Ryota Shiroguchi
PDF
Javascript
by
Vibhor Grover
PPTX
Лфк при компресійному переломі хребта.pptx
by
16svetdus
PPTX
Evolve 19 | Ameeth Palla | Adobe Asset Link - Use Cases and Pitfalls to Avoid
by
Evolve The Adobe Digital Marketing Community
PPTX
Html 5
by
manujayarajkm
PDF
Introduction to CSS
by
Prarthan P
PPT
Ulcer without films
by
Voyevidka_OS
PDF
Css box model
by
Nicha Jutasirivongse
enchant.jsでゲーム制作をはじめてみよう 「パンダの会」バージョン
by
Ryota Shiroguchi
Javascript
by
Vibhor Grover
Лфк при компресійному переломі хребта.pptx
by
16svetdus
Evolve 19 | Ameeth Palla | Adobe Asset Link - Use Cases and Pitfalls to Avoid
by
Evolve The Adobe Digital Marketing Community
Html 5
by
manujayarajkm
Introduction to CSS
by
Prarthan P
Ulcer without films
by
Voyevidka_OS
Css box model
by
Nicha Jutasirivongse
What's hot
PDF
常見設計模式介紹
by
Jace Ju
PPTX
Présentation de ECMAScript 6
by
Julien CROUZET
PDF
Demystifying Angular Animations
by
Gil Fink
PDF
Jetpack Compose - A Lightning Tour
by
Matthew Clarke
PDF
Design patterns in PHP
by
Jason Straughan
PDF
JavaScript - Chapter 9 - TypeConversion and Regular Expressions
by
WebStackAcademy
PDF
Introduction to Javascript
by
Seble Nigussie
PDF
Angular - Chapter 5 - Directives
by
WebStackAcademy
PPTX
Introduction to the DOM
by
tharaa abu ashour
PPTX
Interesting Facts About Javascript
by
Manish Jangir
PPTX
Specificity and CSS Selectors
by
palomateach
PPT
цироз печінки
by
Voyevidka_OS
PPTX
Object Oriented Programming (OOP) Introduction
by
SamuelAnsong6
PDF
CSS Dasar #8 : Pseudo-class
by
Sandhika Galih
PPTX
Custom Metadata and Custom Settings and Custom Lebel in Salesforce.pptx
by
mohayyudin7826
PPT
Cascading Style Sheets (CSS) help
by
casestudyhelp
PDF
CSS Dasar #2 : Anatomy CSS
by
Sandhika Galih
PDF
CSS Dasar #5 : Text Styling
by
Sandhika Galih
常見設計模式介紹
by
Jace Ju
Présentation de ECMAScript 6
by
Julien CROUZET
Demystifying Angular Animations
by
Gil Fink
Jetpack Compose - A Lightning Tour
by
Matthew Clarke
Design patterns in PHP
by
Jason Straughan
JavaScript - Chapter 9 - TypeConversion and Regular Expressions
by
WebStackAcademy
Introduction to Javascript
by
Seble Nigussie
Angular - Chapter 5 - Directives
by
WebStackAcademy
Introduction to the DOM
by
tharaa abu ashour
Interesting Facts About Javascript
by
Manish Jangir
Specificity and CSS Selectors
by
palomateach
цироз печінки
by
Voyevidka_OS
Object Oriented Programming (OOP) Introduction
by
SamuelAnsong6
CSS Dasar #8 : Pseudo-class
by
Sandhika Galih
Custom Metadata and Custom Settings and Custom Lebel in Salesforce.pptx
by
mohayyudin7826
Cascading Style Sheets (CSS) help
by
casestudyhelp
CSS Dasar #2 : Anatomy CSS
by
Sandhika Galih
CSS Dasar #5 : Text Styling
by
Sandhika Galih
Viewers also liked
PPTX
Derivatives in graphing-dfs
by
Farhana Shaheen
PDF
Código das equipes atualizado
by
Major Ribamar
PDF
enchant.js meetup! ショートセッション「はじめてのenchant.js AtlasXでゲームをつくる」
by
wise9
DOCX
Trabajo practico nº14
by
sscida
KEY
Coffee Scriptでenchant.js
by
Naoyuki Totani
PPTX
17 семинар
by
Олександр Мілютін
PDF
Сравнение SEO с интернет маркетингом
by
Олександр Мілютін
PPTX
Shelby Cooper
by
adubose
KEY
How to sell 3 million widgets, guaranteed!
by
Jaimes Nel
PDF
IxDA Edu Summit 2015 - Pontus Warnestal
by
Pontus Wärnestål
PPTX
Briasha King
by
adubose
PPTX
Be green, be accessible
by
Olivier Nourry
PPTX
Callie Hodge
by
adubose
PDF
Media kit mdc asrl 2011
by
andresobel
PPTX
Connor Lofton
by
adubose
PPTX
Sine and Cosine Curves- Dr. Farhana Shaheen
by
Farhana Shaheen
DOC
脉轮能量书ⅰ
by
guxianbang
DOCX
Trabajo practico 12 segunda parte
by
leandro96
PPTX
Annie Savant
by
adubose
PPT
All analysis
by
Amber_
Derivatives in graphing-dfs
by
Farhana Shaheen
Código das equipes atualizado
by
Major Ribamar
enchant.js meetup! ショートセッション「はじめてのenchant.js AtlasXでゲームをつくる」
by
wise9
Trabajo practico nº14
by
sscida
Coffee Scriptでenchant.js
by
Naoyuki Totani
17 семинар
by
Олександр Мілютін
Сравнение SEO с интернет маркетингом
by
Олександр Мілютін
Shelby Cooper
by
adubose
How to sell 3 million widgets, guaranteed!
by
Jaimes Nel
IxDA Edu Summit 2015 - Pontus Warnestal
by
Pontus Wärnestål
Briasha King
by
adubose
Be green, be accessible
by
Olivier Nourry
Callie Hodge
by
adubose
Media kit mdc asrl 2011
by
andresobel
Connor Lofton
by
adubose
Sine and Cosine Curves- Dr. Farhana Shaheen
by
Farhana Shaheen
脉轮能量书ⅰ
by
guxianbang
Trabajo practico 12 segunda parte
by
leandro96
Annie Savant
by
adubose
All analysis
by
Amber_
Similar to enchant.js meetup Tokyo vol.2 Tutorial
PPTX
Osakijs #01 「enchant.jsハンズオン資料」
by
Yusuke HIDESHIMA
PDF
enchant.jsでゲーム制作をはじめてみよう
by
Ryota Shiroguchi
PPT
IEとメモ帳でかんたんゲーム開発
by
amusementcreators
PDF
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 2
by
Takuya Mukohira
PDF
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 4
by
Takuya Mukohira
PDF
Unityを使用したスマートフォン開発事例 ~ギルティドラゴンのアートワーク~
by
cc2_ss
PDF
-入門- enchant.js でゲームを作ろう
by
nico0927
PDF
Creators'night#14今井
by
Daisuke Imai
PDF
enchant.js勉強会
by
Hiroaki Murayama
PDF
Html canvas shooting_and_performanceup
by
Yohei Munesada
PDF
Creators'night#12今井
by
Daisuke Imai
PDF
Canvas de shooting 制作のポイント
by
Yohei Munesada
KEY
Arctic.js
by
chikathreesix
PDF
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5
by
Takuya Mukohira
PDF
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 1
by
Takuya Mukohira
PDF
Enchant.js入門
by
Yuusuke Takeuchi
PPT
GSGL 2012 さくらソフト
by
sakurasoft
PPTX
Unity勉強会ハンズオン
by
Kodai Yano
PDF
Enchant講座
by
Maki Shimamura
PDF
ExGame さくっと入門
by
Soshi Kido
Osakijs #01 「enchant.jsハンズオン資料」
by
Yusuke HIDESHIMA
enchant.jsでゲーム制作をはじめてみよう
by
Ryota Shiroguchi
IEとメモ帳でかんたんゲーム開発
by
amusementcreators
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 2
by
Takuya Mukohira
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 4
by
Takuya Mukohira
Unityを使用したスマートフォン開発事例 ~ギルティドラゴンのアートワーク~
by
cc2_ss
-入門- enchant.js でゲームを作ろう
by
nico0927
Creators'night#14今井
by
Daisuke Imai
enchant.js勉強会
by
Hiroaki Murayama
Html canvas shooting_and_performanceup
by
Yohei Munesada
Creators'night#12今井
by
Daisuke Imai
Canvas de shooting 制作のポイント
by
Yohei Munesada
Arctic.js
by
chikathreesix
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5
by
Takuya Mukohira
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 1
by
Takuya Mukohira
Enchant.js入門
by
Yuusuke Takeuchi
GSGL 2012 さくらソフト
by
sakurasoft
Unity勉強会ハンズオン
by
Kodai Yano
Enchant講座
by
Maki Shimamura
ExGame さくっと入門
by
Soshi Kido
More from Ryo Shimizu
PDF
Beginning gl.enchant
by
Ryo Shimizu
PDF
Chaienr meetup#2 UEI Deep Station ; A GUI for Deep learning
by
Ryo Shimizu
PDF
enchant js workshop on Calpoly
by
Ryo Shimizu
PDF
Introduction to DEEPstation the GUI Deep learning environment for chainer
by
Ryo Shimizu
PDF
enchant.js meetup Tokyo vol.2 Roadmap of enchant.js
by
Ryo Shimizu
PDF
enchantMOON presentation @ Mobile IT Asia & ABC 2013 Spring
by
Ryo Shimizu
PDF
9leap Game Programming Camp @Tokyo
by
Ryo Shimizu
Beginning gl.enchant
by
Ryo Shimizu
Chaienr meetup#2 UEI Deep Station ; A GUI for Deep learning
by
Ryo Shimizu
enchant js workshop on Calpoly
by
Ryo Shimizu
Introduction to DEEPstation the GUI Deep learning environment for chainer
by
Ryo Shimizu
enchant.js meetup Tokyo vol.2 Roadmap of enchant.js
by
Ryo Shimizu
enchantMOON presentation @ Mobile IT Asia & ABC 2013 Spring
by
Ryo Shimizu
9leap Game Programming Camp @Tokyo
by
Ryo Shimizu
Recently uploaded
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):コアマイクロシステムズ株式会社 テーマ 「AI HPC時代のトータルソリューションプロバイダ」
by
PC Cluster Consortium
PDF
論文紹介:DiffusionRet: Generative Text-Video Retrieval with Diffusion Model
by
Toru Tamaki
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ1「大規模AIの能力を最大限に活用するHPE Comp...
by
PC Cluster Consortium
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ3「『TrinityX』 AI時代のクラスターマネジメ...
by
PC Cluster Consortium
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ2「『Slinky』 SlurmとクラウドのKuber...
by
PC Cluster Consortium
PDF
論文紹介:HiLoRA: Adaptive Hierarchical LoRA Routing for Training-Free Domain Gene...
by
Toru Tamaki
PDF
論文紹介:MotionMatcher: Cinematic Motion Customizationof Text-to-Video Diffusion ...
by
Toru Tamaki
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ3「IT運用とデータサイエンティストを強力に支援するH...
by
PC Cluster Consortium
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):エヌビディア合同会社 テーマ1「NVIDIA 最新発表製品等のご案内」
by
PC Cluster Consortium
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):富士通株式会社 テーマ1「HPC&AI: Accelerating material develo...
by
PC Cluster Consortium
PPTX
ChatGPTのコネクタ開発から学ぶ、外部サービスをつなぐMCPサーバーの仕組み
by
Ryuji Egashira
PDF
膨大なデータ時代を制する鍵、セグメンテーションAIが切り拓く解析精度と効率の革新
by
Data Source
PPTX
2025年11月24日情報ネットワーク法学会大井哲也発表「API利用のシステム情報」
by
Tetsuya Oi
PDF
AI開発の最前線を変えるニューラルネットワークプロセッサと、未来社会における応用可能性
by
Data Source
PDF
ニューラルプロセッサによるAI処理の高速化と、未知の可能性を切り拓く未来の人工知能
by
Data Source
PCCC25(設立25年記念PCクラスタシンポジウム):コアマイクロシステムズ株式会社 テーマ 「AI HPC時代のトータルソリューションプロバイダ」
by
PC Cluster Consortium
論文紹介:DiffusionRet: Generative Text-Video Retrieval with Diffusion Model
by
Toru Tamaki
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ1「大規模AIの能力を最大限に活用するHPE Comp...
by
PC Cluster Consortium
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ3「『TrinityX』 AI時代のクラスターマネジメ...
by
PC Cluster Consortium
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ2「『Slinky』 SlurmとクラウドのKuber...
by
PC Cluster Consortium
論文紹介:HiLoRA: Adaptive Hierarchical LoRA Routing for Training-Free Domain Gene...
by
Toru Tamaki
論文紹介:MotionMatcher: Cinematic Motion Customizationof Text-to-Video Diffusion ...
by
Toru Tamaki
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ3「IT運用とデータサイエンティストを強力に支援するH...
by
PC Cluster Consortium
PCCC25(設立25年記念PCクラスタシンポジウム):エヌビディア合同会社 テーマ1「NVIDIA 最新発表製品等のご案内」
by
PC Cluster Consortium
PCCC25(設立25年記念PCクラスタシンポジウム):富士通株式会社 テーマ1「HPC&AI: Accelerating material develo...
by
PC Cluster Consortium
ChatGPTのコネクタ開発から学ぶ、外部サービスをつなぐMCPサーバーの仕組み
by
Ryuji Egashira
膨大なデータ時代を制する鍵、セグメンテーションAIが切り拓く解析精度と効率の革新
by
Data Source
2025年11月24日情報ネットワーク法学会大井哲也発表「API利用のシステム情報」
by
Tetsuya Oi
AI開発の最前線を変えるニューラルネットワークプロセッサと、未来社会における応用可能性
by
Data Source
ニューラルプロセッサによるAI処理の高速化と、未知の可能性を切り拓く未来の人工知能
by
Data Source
enchant.js meetup Tokyo vol.2 Tutorial
1.
enchant.js チュートリアル UEI/ARC
Makoto Kondo
2.
自己紹介 株式会社ユビキタスエンターテインメント ARC 秋葉原リサーチセンター研究員 プログラマ(iOS/Android/i-modeなど)
4.
enchant.jsを使って シューティングゲーム
を作ろう!
5.
有名なSTG ゼビウス
グラディウス R-TYPE ナムコ 1982 コナミ 1985 アイレム 1987
6.
シューティングゲームには、 最低限何が必要か?
7.
共通点は? ゼビウス
グラディウス R-TYPE ナムコ 1982 コナミ 1985 アイレム 1987
8.
1.自機がいる ゼビウス
グラディウス R-TYPE ナムコ 1982 コナミ 1985 アイレム 1987
9.
2.敵機がいる ゼビウス
グラディウス R-TYPE ナムコ 1982 コナミ 1985 アイレム 1987
10.
3.弾を撃てる ゼビウス
グラディウス R-TYPE ナムコ 1982 コナミ 1985 アイレム 1987
11.
4.弾で敵を倒せる ゼビウス
グラディウス R-TYPE ナムコ 1982 コナミ 1985 アイレム 1987
12.
5.ゲームオーバーがある ゼビウス
グラディウス R-TYPE ナムコ 1982 コナミ 1985 アイレム 1987
13.
6.スコアがある ゼビウス
グラディウス R-TYPE ナムコ 1982 コナミ 1985 アイレム 1987
14.
必要な要素(a.k.a.仕様) 1. 自機がでる 2. 敵がでる 3.
弾を撃てる 4. 弾で敵を倒せる 5. ゲームオーバーになる 6. スコアがある
15.
もう少し細かく 1. 自機がでる
0.enchant.js初期化 2. 敵がでる 1.1自機を動かす 3. 弾を撃てる 2.1敵を動かす 4. 弾で敵を倒せる 3.1弾を動かす 5. ゲームオーバーになる 6. スコアがある
16.
まとめると、、、
17.
あなたがシューティングゲームを
作るのに必要なたった10個の要素 625 users 1. enchant.js初期化 6. 弾を撃つ 2. 自機を出す 7. 弾で敵を倒す 3. 自機を動かす 8. 敵をたくさん出す 4. 敵を出す 9. ゲームオーバーを作る 5. 敵を動かす 10.スコアを出す http://chephes.com/meetup/
18.
あなたがシューティングゲームを
作るのに必要なたった10個の要素 625 users 1. enchant.js初期化 6. 弾を撃つ 2. 自機を出す 7. 弾で敵を倒す 3. 自機を動かす 8. 敵をたくさん出す 4. 敵を出す 9. ゲームオーバーを作る 5. 敵を動かす 10.スコアを出す http://chephes.com/meetup/
19.
1.enchant.js初期化
20.
1.enchant.js初期化 1. 好きな場所にフォルダを作る 2. フォルダの中にenchant.jsを入れる 3.
以下のファイルを作る • index.html • main.js
21.
1.enchant.js初期化
index.html <html> <head> <script type=‘text/javascript’ src=‘enchant.js’></script> <script type=‘text/javascript’ src=‘main.js’></script> </head> </html> main.js enchant(); window.onload=function(){ var game=new Game(320, 320); game.onload=function(){ console.log(‘Hello, enchant.js!!’); }; game.start(); };
22.
1.enchant.js初期化 4. ブラウザにindex.htmlをドラッグ&ドロップ
23.
1.enchant.js初期化 5. ブラウザのjavascriptコンソールを開く
24.
1.enchant.js初期化 6. コンソールにHello, enchant.js!!と表示される
25.
1.enchant.js初期化
main.js enchant(); window.onload=function(){ var game=new Game(320, 320); game.onload=function(){ console.log(‘Hello, enchant.js!!’); }; game.start(); };
26.
1.enchant.js初期化
main.js enchant(); window.onload=function(){ var game=new Game(320, 320); enchant.jsの読み込み game.onload=function(){ console.log(‘Hello, enchant.js!!’); (おまじない) }; game.start(); };
27.
1.enchant.js初期化
main.js enchant(); window.onload=function(){ var game=new Game(320, 320); game.onload=function(){ ページ読み込み console.log(‘Hello, enchant.js!!’); }; 完了の処理の設定 game.start(); };
28.
1.enchant.js初期化
main.js enchant(); window.onload=function(){ var game=new Game(320, 320); game.onload=function(){ console.log(‘Hello, enchant.js!!’); 実際の処理 }; game.start(); };
29.
1.enchant.js初期化
main.js enchant(); window.onload=function(){ var game=new Game(320, 320); Gameクラスの初期化 game.onload=function(){ console.log(‘Hello, enchant.js!!’); }; game.start(); };
30.
1.enchant.js初期化 Gameクラス
31.
1.enchant.js初期化 Gameクラス
32.
1.enchant.js初期化 クラスとは?
33.
1.enchant.js初期化 クラスとは?
Game
34.
1.enchant.js初期化 クラスとは? Sprite
Game
35.
1.enchant.js初期化 クラスとは? Sprite
Game Label
36.
1.enchant.js初期化 クラスとは? Sprite
Scene Game Label
37.
1.enchant.js初期化 クラスとは? Sprite
Scene Game Label Surface
38.
1.enchant.js初期化
クラスとは? データと関連する処理をひとまとめにした、意味の ある一つのまとまり。 enchant.jsには、Game, Sprite, Labelなどいろいろな クラスが存在する。
39.
1.enchant.js初期化 Gameクラスが持つデータ
40.
1.enchant.js初期化 Gameクラスが持つ処理
41.
1.enchant.js初期化
クラスの定義方法 enchant(); var MyClass = Class.create({ initialize:function(){ console.log(‘My Class Init’); }, myMethod:function(){ console.log(‘My Method’); } }); var myInstance = new MyClass(); myInstance.myMethod();
42.
1.enchant.js初期化
クラスの定義方法 クラスの生成 enchant(); var MyClass = Class.create({ initialize:function(){ console.log(‘My Class Init’); }, myMethod:function(){ console.log(‘My Method’); } }); var myInstance = new MyClass(); myInstance.myMethod();
43.
1.enchant.js初期化
クラスの定義方法 enchant(); var MyClass = Class.create({ initialize:function(){ console.log(‘My Class Init’); }, myMethod:function(){ console.log(‘My Method’); 親クラス } }); var myInstance = new MyClass(); myInstance.myMethod();
44.
1.enchant.js初期化
クラスの定義方法 enchant(); var MyClass = Class.create({ initialize:function(){ console.log(‘My Class Init’); }, myMethod:function(){ console.log(‘My Method’); コンストラクタ } }); var myInstance = new MyClass(); myInstance.myMethod();
45.
1.enchant.js初期化
クラスの定義方法 enchant(); var MyClass = Class.create({ initialize:function(){ console.log(‘My Class Init’); }, myMethod:function(){ console.log(‘My Method’); } メソッドの定義 }); var myInstance = new MyClass(); myInstance.myMethod();
46.
1.enchant.js初期化
main.js enchant(); window.onload=function(){ var game=new Game(320, 320); game.onload=function(){ Gameクラスの console.log(‘Hello, enchant.js!!’); }; game.start(); 初期化完了の処理 };
47.
1.enchant.js初期化
main.js enchant(); window.onload=function(){ var game=new Game(320, 320); game.onload=function(){ console.log(‘Hello, enchant.js!!’); ゲームの処理 }; game.start(); };
48.
1.enchant.js初期化
main.js enchant(); window.onload=function(){ var game=new Game(320, 320); game.onload=function(){ console.log(‘Hello, enchant.js!!’); }; game.start(); ゲームの開始 };
49.
1.enchant.js初期化 Game.start() ゲームを開始する. enchant.Game#fpsで設定された フレームレートに従ってenchant.Game#currentScene のフレームの更新が行われるようになる. プリロードする画像が存在する場合はロードが始まり ローディング画面が表示される.
50.
1.enchant.js初期化
51.
あなたがシューティングゲームを
作るのに必要なたった10個の要素 625 users 1. enchant.js初期化 6. 弾を撃つ 2. 自機を出す 7. 弾で敵を倒す 3. 自機を動かす 8. 敵をたくさん出す 4. 敵を出す 9. ゲームオーバーを作る 5. 敵を動かす 10.スコアを出す http://chephes.com/meetup/
52.
2.自機を出す
1. enchant.jsに同梱のchara1.gifをフォルダに入れる 2. main.jsを以下のように書き換える main.js enchant(); window.onload=function(){ var game=new Game(320, 320); game.preload(‘chara1.gif’); game.onload=function(){ var player=new Sprite(32, 32); player.image=game.assets[‘chara1.gif’]; game.rootScene.addChild(player); }; game.start(); };
53.
2.自機を出す 3. ブラウザのキャッシュを消す
54.
2.自機を出す 4. ブラウザをリロード
55.
2.自機を出す 4. ブラウザをリロード
自機がでた
56.
2.自機を出す
main.js enchant(); window.onload=function(){ var game=new Game(320, 320); game.preload(‘chara1.gif’); game.onload=function(){ var player=new Sprite(32, 32); player.image=game.assets[‘chara1.gif’]; game.rootScene.addChild(player); }; game.start(); };
57.
2.自機を出す
main.js enchant(); window.onload=function(){ 画像の読み込み var game=new Game(320, 320); game.preload(‘chara1.gif’); game.onload=function(){ var player=new Sprite(32, 32); player.image=game.assets[‘chara1.gif’]; game.rootScene.addChild(player); }; game.start(); };
58.
2.自機を出す game.preload(‘chara1.gif’)とは? wise9-enchant.js-..../doc/ja/index.html
59.
2.自機を出す game.preload(‘chara1.gif’)とは? enchant.Gameをクリック
60.
2.自機を出す game.preload(‘chara1.gif’)とは? enchant.Game.preloadをさがす
61.
2.自機を出す game.preload(‘chara1.gif’)とは? 説明文を読んでみる
サンプル
62.
2.自機を出す
main.js enchant(); window.onload=function(){ var game=new Game(320, 320); game.preload(‘chara1.gif’); game.onload=function(){ var player=new Sprite(32, 32); player.image=game.assets[‘chara1.gif’]; game.rootScene.addChild(player); }; game.start(); };
63.
2.自機を出す
main.js enchant(); window.onload=function(){ var game=new Game(320, 320); game.preload(‘chara1.gif’); game.onload=function(){ var player=new Sprite(32, 32); 自機の生成 player.image=game.assets[‘chara1.gif’]; game.rootScene.addChild(player); }; game.start(); };
64.
2.自機を出す var player=new Sprite(32,
32);
65.
2.自機を出す var player=new Sprite(32,
32);
66.
2.自機を出す var player=new Sprite(32,
32);
67.
2.自機を出す var player=new Sprite(32,
32);
68.
2.自機を出す var player=new Sprite(32,
32); =32
69.
2.自機を出す var player=new Sprite(32,
32); =32
70.
2.自機を出す var player=new Sprite(32,
32); =32 =32
71.
2.自機を出す var player=new Sprite(32,
32); =32 32 32 =32
72.
2.自機を出す
main.js enchant(); window.onload=function(){ var game=new Game(320, 320); game.preload(‘chara1.gif’); game.onload=function(){ var player=new Sprite(32, 32); player.image=game.assets[‘chara1.gif’]; }; game.rootScene.addChild(player); 画像の設定 game.start(); };
73.
2.自機を出す player.image=game.assets[‘chara1.gif’];
74.
2.自機を出す player.image=game.assets[‘chara1.gif’];
75.
2.自機を出す player.image=game.assets[‘chara1.gif’];
76.
2.自機を出す player.image=game.assets[‘chara1.gif’];
77.
2.自機を出す player.image=game.assets[‘chara1.gif’];
78.
2.自機を出す player.image=game.assets[‘chara1.gif’];
ロードされたchara1.gifを playerの画像として表示する
79.
2.自機を出す
main.js enchant(); window.onload=function(){ var game=new Game(320, 320); game.preload(‘chara1.gif’); game.onload=function(){ var player=new Sprite(32, 32); player.image=game.assets[‘chara1.gif’]; game.rootScene.addChild(player); }; }; game.start(); シーンに追加して表示
80.
2.自機を出す
game.rootScene.addChild(player); enchant.Game enchant.Scene enchant.Group
81.
2.自機を出す
game.rootScene.addChild(player); enchant.Game enchant.Scene enchant.Group
82.
2.自機を出す
game.rootScene.addChild(player); enchant.Game enchant.Scene enchant.Group
83.
2.自機を出す
game.rootScene.addChild(player); enchant.Game enchant.Scene enchant.Group
84.
2.自機を出す
game.rootScene.addChild(player); enchant.Game enchant.Scene enchant.Group
85.
2.自機を出す
game.rootScene.addChild(player); enchant.Game enchant.Scene enchant.Group Gameの表示ツリーにplayerを追加する
86.
あなたがシューティングゲームを
作るのに必要なたった10個の要素 625 users 1. enchant.js初期化 6. 弾を撃つ 2. 自機を出す 7. 弾で敵を倒す 3. 自機を動かす 8. 敵をたくさん出す 4. 敵を出す 9. ゲームオーバーを作る 5. 敵を動かす 10.スコアを出す http://chephes.com/meetup/
87.
3.自機を動かす
1. main.jsを以下のように書き換える main.js enchant(); window.onload=function(){ //...中略... player.image=game.assets[‘chara1.gif’]; game.rootScene.addChild(player); game.rootScene.addEventListener(‘touchstart’, function(e){ player.y=e.y; }); }; game.start(); };
88.
3.自機を動かす 2. ブラウザのキャッシュを消す
89.
3.自機を動かす 3. ブラウザをリロード
90.
3.自機を動かす 4. 画面をクリック
91.
3.自機を動かす 4. 画面をクリック
92.
3.自機を動かす
main.js enchant(); window.onload=function(){ 画面のタッチの処理の設定 //...中略... player.image=game.assets[‘chara1.gif’]; game.rootScene.addChild(player); game.rootScene.addEventListener(‘touchstart’, function(e){ player.y=e.y; }); }; game.start(); };
93.
3.自機を動かす EventTarget.addEventListener(type, listener); イベントリスナを追加する。typeに は‘enterframe’や‘touchstart‘などが利用でき、それらの イベントが起きたときに、listenerを実行する。 EventTargetを継承するSpriteやSceneなど様々なクラ スから利用可能
94.
3.自機を動かす
main.js enchant(); window.onload=function(){ //...中略... player.image=game.assets[‘chara1.gif’]; game.rootScene.addChild(player); game.rootScene.addEventListener(‘touchstart’, function(e){ player.y=e.y; }); }; }; game.start(); タッチされたときの処理
95.
3.自機を動かす Node.y Nodeのy座標の値。読み込む事も、書き込む事も可能 である。yのプロパティはSpriteが継承しているNodeに て定義されているので、Spriteでも利用可能
96.
3.自機を動かす
main.js enchant(); window.onload=function(){ //...中略... player.image=game.assets[‘chara1.gif’]; game.rootScene.addChild(player); game.rootScene.addEventListener(‘touchstart’, function(e){ player.y=e.y; }); }; game.start(); };
97.
あなたがシューティングゲームを
作るのに必要なたった10個の要素 625 users 1. enchant.js初期化 6. 弾を撃つ 2. 自機を出す 7. 弾で敵を倒す 3. 自機を動かす 8. 敵をたくさん出す 4. 敵を出す 9. ゲームオーバーを作る 5. 敵を動かす 10.スコアを出す http://chephes.com/meetup/
98.
4.敵を出す 1. enchant.jsに同梱のchara2.gifをフォルダに入れる
2. main.jsを以下のように書き換える main.js //...中略... game.preload(‘chara1.gif’, ‘chara2.gif’); //...中略... game.rootScene.addChild(player); var enemy = new Sprite(32, 32); enemy.image = game.assets[‘chara2.gif’]; enemy.x = 320 - 32; enemy.y = 320 * Math.random(); game.rootScene.addChild(enemy); game.rootScene.addEventListener(‘touchstart’, function(e){ //...中略...
99.
4.敵を出す 3. ブラウザのキャッシュを消す
100.
4.敵を出す 4. ブラウザをリロード
101.
4.敵を出す main.js
敵の画像の読み込み //...中略... game.preload(‘chara1.gif’, ‘chara2.gif’); //...中略... game.rootScene.addChild(player); var enemy = new Sprite(32, 32); enemy.image = game.assets[‘chara2.gif’]; enemy.x = 320 - 32; enemy.y = (320 - 32) * Math.random(); game.rootScene.addChild(enemy); game.rootScene.addEventListener(‘touchstart’, function(e){ //...中略...
102.
4.敵を出す main.js //...中略... game.preload(‘chara1.gif’, ‘chara2.gif’); //...中略... game.rootScene.addChild(player); var enemy
= new Sprite(32, 32); 敵の初期化と表示 enemy.image = game.assets[‘chara2.gif’]; enemy.x = 320 - 32; enemy.y = (320 - 32) * Math.random(); game.rootScene.addChild(enemy); game.rootScene.addEventListener(‘touchstart’, function(e){ //...中略...
103.
4.敵を出す main.js //...中略... game.preload(‘chara1.gif’, ‘chara2.gif’); //...中略... game.rootScene.addChild(player); var enemy
= new Sprite(32, 32); 敵の初期化と表示 enemy.image = game.assets[‘chara2.gif’]; enemy.x = 320 - 32; enemy.y = (320 - 32) * Math.random(); game.rootScene.addChild(enemy); game.rootScene.addEventListener(‘touchstart’, function(e){ //...中略... var player=new Sprite(32, 32); player.image=game.assets[‘chara1.gif]; game.rootScene.addChild(player);
104.
4.敵を出す main.js //...中略... game.preload(‘chara1.gif’, ‘chara2.gif’); //...中略... game.rootScene.addChild(player); var enemy
= new Sprite(32, 32); enemy.image = game.assets[‘chara2.gif’]; enemy.x = 320 - 32; 敵の位置の設定 enemy.y = (320 - 32) * Math.random() game.rootScene.addChild(enemy); game.rootScene.addEventListener(‘touchstart’, function(e){ //...中略...
105.
あなたがシューティングゲームを
作るのに必要なたった10個の要素 625 users 1. enchant.js初期化 6. 弾を撃つ 2. 自機を出す 7. 弾で敵を倒す 3. 自機を動かす 8. 敵をたくさん出す 4. 敵を出す 9. ゲームオーバーを作る 5. 敵を動かす 10.スコアを出す http://chephes.com/meetup/
106.
5.敵を動かす 1. main.jsを以下のように書き換える main.js //...中略... enemy.x
= 320 - 32; game.rootScene.addChild(enemy); enemy.addEventListener(‘enterframe’, function(){ this.x -= 2; }); game.rootScene.addEventListener(‘touchstart’, function(e){ //...中略...
107.
5.敵を動かす 2. ブラウザのキャッシュを消す
108.
5.敵を動かす 3. ブラウザをリロード
109.
5.敵を動かす 3. ブラウザをリロード
110.
5.敵を動かす main.js //...中略... enemy.x = 320
- 32; game.rootScene.addChild(enemy); enemy.addEventListener(‘enterframe’, function(){ this.x -= 2; }); 敵の毎フレームの game.rootScene.addEventListener(‘touchstart’, function(e){ //...中略... 処理の設定
111.
5.敵を動かす main.js //...中略... enemy.x = 320
- 32; game.rootScene.addChild(enemy); enemy.addEventListener(‘enterframe’, function(){ this.x -= 2; }); 自分の位置を game.rootScene.addEventListener(‘touchstart’, function(e){ //...中略... 左に2px動かす
112.
あなたがシューティングゲームを
作るのに必要なたった10個の要素 625 users 1. enchant.js初期化 6. 弾を撃つ 2. 自機を出す 7. 弾で敵を倒す 3. 自機を動かす 8. 敵をたくさん出す 4. 敵を出す 9. ゲームオーバーを作る 5. 敵を動かす 10.スコアを出す http://chephes.com/meetup/
113.
6.弾を撃つ 1.
icon0.gifをフォルダに追加 2. main.jsを以下のように書き換える main.js //...中略... game.preload(‘chara1.gif’, ‘chara2.gif’, ‘icon0.gif’); //...中略... game.rootScene.addEventListener(‘touchstart’, function(e){ player.y = e.y; var missile = new Sprite(16, 16); missile.image = game.assets[‘icon0.gif’]; missile.frame = 54; missile.x = player.x; missile.y = player.y; missile.addEventListener(‘enterframe’, function(){ this.x += 2; }); game.rootScene.addChild(missile); }); //...中略...
114.
6.弾を撃つ 3. ブラウザのキャッシュを消す
115.
6.弾を撃つ 4. ブラウザをリロード
116.
6.弾を撃つ
弾画像の読み込み main.js //...中略... game.preload(‘chara1.gif’, ‘chara2.gif’, ‘icon0.gif’); //...中略... game.rootScene.addEventListener(‘touchstart’, function(e){ player.y = e.y; var missile=new Sprite(16, 16); missile.image = game.assets[‘icon0.gif’]; missile.frame = 54; missile.x = player.x; missile.y = player.y; missile.addEventListener(‘enterframe’, function(){ this.x += 2; }); game.rootScene.addChild(missile); }); //...中略...
117.
6.弾を撃つ main.js //...中略... game.preload(‘chara1.gif’, ‘chara2.gif’, ‘icon0.gif’); //...中略... game.rootScene.addEventListener(‘touchstart’,
function(e){ player.y = e.y; var missile=new Sprite(16, 16); missile.image = game.assets[‘icon0.gif’]; missile.frame = 54; missile.x = player.x; missile.y = player.y; 弾の初期化 missile.addEventListener(‘enterframe’, function(){ this.x += 2; }); game.rootScene.addChild(missile); }); //...中略...
118.
6.弾を撃つ main.js //...中略... game.preload(‘chara1.gif’, ‘chara2.gif’, ‘icon0.gif’); //...中略... game.rootScene.addEventListener(‘touchstart’,
function(e){ player.y = e.y; var missile=new Sprite(16, 16); missile.image = game.assets[‘icon0.gif’]; missile.frame = 54; missile.x = player.x; 弾の画像の選択 missile.y = player.y; missile.addEventListener(‘enterframe’, function(){ this.x += 2; }); game.rootScene.addChild(missile); }); //...中略...
119.
6.弾を撃つ icon0.gif
120.
6.弾を撃つ icon0.gif 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
121.
6.弾を撃つ icon0.gif 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
122.
6.弾を撃つ main.js //...中略... game.preload(‘chara1.gif’, ‘chara2.gif’, ‘icon0.gif’); //...中略... game.rootScene.addEventListener(‘touchstart’,
function(e){ player.y = e.y; var missile=new Sprite(16, 16); missile.image = game.assets[‘icon0.gif’]; missile.frame = 54; missile.x = player.x; playerの位置に missile.y = player.y; missile.addEventListener(‘enterframe’, function(){ this.x += 2; 弾を移動 }); game.rootScene.addChild(missile); }); //...中略...
123.
6.弾を撃つ main.js //...中略... game.preload(‘chara1.gif’, ‘chara2.gif’, ‘icon0.gif’); //...中略... game.rootScene.addEventListener(‘touchstart’,
function(e){ player.y = e.y; var missile=new Sprite(16, 16); missile.image = game.assets[‘icon0.gif’]; missile.frame = 54; missile.x = player.x; 弾の移動 missile.y = player.y; missile.addEventListener(‘enterframe’, function(){ this.x += 2; }); game.rootScene.addChild(missile); }); //...中略...
124.
あなたがシューティングゲームを
作るのに必要なたった10個の要素 625 users 1. enchant.js初期化 6. 弾を撃つ 2. 自機を出す 7. 弾で敵を倒す 3. 自機を動かす 8. 敵をたくさん出す 4. 敵を出す 9. ゲームオーバーを作る 5. 敵を動かす 10.スコアを出す http://chephes.com/meetup/
125.
7.弾で敵を倒す 1. main.jsを以下のように書き換える main.js //...中略... game.rootScene.addEventListener(‘touchstart’,
function(e){ //...中略... missile.y = player.y; missile.addEventListener(‘enterframe’, function(){ this.x += 2; if(enemy.intersect(this)){ game.rootScene.removeChild(enemy); game.rootScene.removeChild(this); } }); game.rootScene.addChild(missile); }); //...中略...
126.
7.弾で敵を倒す 2. ブラウザのキャッシュを消す
127.
7.弾で敵を倒す 3. ブラウザをリロード
128.
7.弾で敵を倒す main.js //...中略... game.rootScene.addEventListener(‘touchstart’, function(e){ //...中略...
missile.y = player.y; missile.addEventListener(‘enterframe’, function(){ this.x += 2; if(enemy.intersect(this)){ game.rootScene.removeChild(enemy); game.rootScene.removeChild(this); 敵と弾のあたり } }); 判定 game.rootScene.addChild(missile); }); //...中略...
129.
3.自機を動かす
Entity.intersect(s); Entityの矩形が交差しているかどうかにより判定衝突 を行う。引数には対象のEntitiyをとる。このメソッド はEntityクラスにて定義さているので、Spriteで利用可 能
130.
7.弾で敵を倒す main.js //...中略... game.rootScene.addEventListener(‘touchstart’, function(e){ //...中略...
missile.y = player.y; missile.addEventListener(‘enterframe’, function(){ this.x += 2; if(enemy.intersect(this)){ game.rootScene.removeChild(enemy); game.rootScene.removeChild(this); 敵と弾を消す } }); game.rootScene.addChild(missile); }); //...中略...
131.
3.自機を動かす Group.removeChild(s); GroupからNodeを削除する。引数には対象のEntitiyを とる。このメソッドはGroupクラスにて定義さている ので、Sceneで利用可能
132.
7.弾で敵を倒す 1. main.jsを以下のように書き換える main.js //...中略... game.rootScene.addEventListener(‘touchstart’,
function(e){ //...中略... missile.y = player.y; missile.addEventListener(‘enterframe’, function(){ this.x += 2; if(enemy.intersect(this)){ game.rootScene.removeChild(enemy); game.rootScene.removeChild(this); } }); game.rootScene.addChild(missile); }); //...中略...
133.
あなたがシューティングゲームを
作るのに必要なたった10個の要素 625 users 1. enchant.js初期化 6. 弾を撃つ 2. 自機を出す 7. 弾で敵を倒す 3. 自機を動かす 8. 敵をたくさん出す 4. 敵を出す 9. ゲームオーバーを作る 5. 敵を動かす 10.スコアを出す http://chephes.com/meetup/
134.
8.敵をたくさん出す 1. main.jsを以下のように書き換える main.js //...中略... game.rootScene.addChild(player); var
enemies = []; game.rootScene.addEventListener(‘enterframe’, function(){ if(Math.random() < 0.1){ var enemy = new Sprite(32, 32); //...中略... this.x -= 2; }); enemies.push(enemy); } }); //...中略...
135.
8.敵をたくさん出す 2. main.jsをまだまだ書き換える main.js //...中略... missile.addEventListener(‘enterframe’,
function(){ this.x += 2; for(var i = 0; i < enemies.length; i++){ if(enemies[i].intersect(this)){ game.rootScene.removeChild(enemies[i]); game.rootScene.removeChild(this); enemies.splice(i, 1); break; } } }); //...中略...
136.
8.敵をたくさん出す 3. ブラウザのキャッシュを消す
137.
8.敵をたくさん出す 4. ブラウザをリロード
138.
8.敵をたくさん出す main.js //...中略... game.rootScene.addChild(player); var enemies =
[]; 敵配列の用意 game.rootScene.addEventListener(‘enterframe’, function(){ if(Math.random() < 0.1){ var enemy = new Sprite(32, 32); //...中略... this.x -= 2; }); enemies.push(enemy); } }); //...中略...
139.
8.敵をたくさん出す main.js //...中略... game.rootScene.addChild(player); var enemies =
[]; game.rootScene.addEventListener(‘enterframe’, function(){ if(Math.random() < 0.1){ var enemy = new Sprite(32, 32); //...中略... this.x -= 2; 毎フレームごとの }); enemies.push(enemy); } 処理を追加 }); //...中略...
140.
8.敵をたくさん出す main.js //...中略... game.rootScene.addChild(player); var enemies =
[]; game.rootScene.addEventListener(‘enterframe’, function(){ if(Math.random() < 0.1){ var enemy = new Sprite(32, 32); //...中略... 毎フレームだと this.x -= 2; }); enemies.push(enemy); 多すぎるので、 } }); //...中略... 1/10の確率で出現
141.
8.敵をたくさん出す main.js //...中略... game.rootScene.addChild(player); var enemies =
[]; game.rootScene.addEventListener(‘enterframe’, function(){ if(Math.random() < 0.1){ var enemy = new Sprite(32, 32); //...中略... this.x -= 2; 表示されてる }); enemies.push(enemy); } 敵リストに追加 }); //...中略...
142.
8.敵をたくさん出す main.js //...中略... missile.addEventListener(‘enterframe’, function(){
this.x += 2; for(var i = 0; i < enemies.length; i++){ if(enemies[i].intersect(this)){ game.rootScene.removeChild(enemies[i]); game.rootScene.removeChild(this); enemies.splice(i, 1); 敵の数だけループ break; } } }); //...中略...
143.
8.敵をたくさん出す main.js //...中略... missile.addEventListener(‘enterframe’, function(){
this.x += 2; for(var i = 0; i < enemies.length; i++){ if(enemies[i].intersect(this)){ game.rootScene.removeChild(enemies[i]); game.rootScene.removeChild(this); enemies.splice(i, 1); } break; i番目の敵と } }); //...中略... ミサイルの当たり判定
144.
8.敵をたくさん出す main.js //...中略... missile.addEventListener(‘enterframe’, function(){
this.x += 2; for(var i = 0; i < enemies.length; i++){ if(enemies[i].intersect(this)){ game.rootScene.removeChild(enemies[i]); game.rootScene.removeChild(this); enemies.splice(i, 1); } break; i番目の敵を } }); //...中略... 敵リストから削除
145.
8.敵をたくさん出す main.js //...中略... missile.addEventListener(‘enterframe’, function(){
this.x += 2; for(var i = 0; i < enemies.length; i++){ if(enemies[i].intersect(this)){ game.rootScene.removeChild(enemies[i]); game.rootScene.removeChild(this); enemies.splice(i, 1); break; } } }); ループの中断 //...中略...
146.
あなたがシューティングゲームを
作るのに必要なたった10個の要素 625 users 1. enchant.js初期化 6. 弾を撃つ 2. 自機を出す 7. 弾で敵を倒す 3. 自機を動かす 8. 敵をたくさん出す 4. 敵を出す 9. ゲームオーバーを作る 5. 敵を動かす 10.スコアを出す http://chephes.com/meetup/
147.
9.ゲームオーバーを作る 1. main.jsを以下のように書き換える main.js //...中略... enemy.addEventListener(‘enterframe’,
function(){ this.x -= 2; if(player.intersect(this)){ game.stop(); var label = new Label(‘GAME OVER’); label.font = ‘32px sans-serif’; label.x = 50; label.y = 150; game.rootScene.addChild(label); } }); //...中略...
148.
9.ゲームオーバーを作る
149.
9.ゲームオーバーを作る
150.
9.ゲームオーバーを作る main.js //...中略... enemy.addEventListener(‘enterframe’, function(){
this.x -= 2; if(player.intersect(this)){ game.stop(); var label = new Label(‘GAME OVER’); label.font = ‘32px sans-serif’; 敵とPlayerの label.x = 50; label.y = 150; game.rootScene.addChild(label); 当たり判定 } }); //...中略...
151.
9.ゲームオーバーを作る main.js //...中略... enemy.addEventListener(‘enterframe’, function(){
this.x -= 2; if(player.intersect(this)){ game.stop(); var label = new Label(‘GAME OVER’); label.font = ‘32px sans-serif’; label.x = 50; ゲームの停止 label.y = 150; game.rootScene.addChild(label); } }); //...中略...
152.
9.ゲームオーバーを作る main.js //...中略... enemy.addEventListener(‘enterframe’, function(){
this.x -= 2; if(player.intersect(this)){ game.stop(); var label = new Label(‘GAME OVER’); label.font = ‘32px sans-serif’; GAMEOVER label.x = 50; label.y = 150; の表示 game.rootScene.addChild(label); } }); //...中略...
153.
あなたがシューティングゲームを
作るのに必要なたった10個の要素 625 users 1. enchant.js初期化 6. 弾を撃つ 2. 自機を出す 7. 弾で敵を倒す 3. 自機を動かす 8. 敵をたくさん出す 4. 敵を出す 9. ゲームオーバーを作る 5. 敵を動かす 10.スコアを出す http://chephes.com/meetup/
154.
10.スコアを出す 1. main.jsを以下のように書き換える main.js //...中略...
enemies.push(enemy); } }); var label = new Label(“SCORE:0”); game.rootScene.addChild(label); var score = 0; game.rootScene.addEventListener(‘touchstart’, function(e){ //...中略... enemies.splice(i, 1); score++; label.text = “SCORE:” + score; break; //...中略...
155.
10.スコアを出す
156.
10.スコアを出す main.js //...中略...
enemies.push(enemy); } ラベルの表示 }); var label = new Label(“SCORE:0”); game.rootScene.addChild(label); var score = 0; game.rootScene.addEventListener(‘touchstart’, function(e){ //...中略... enemies.splice(i, 1); score++; label.text = “SCORE:” + score; break; //...中略...
157.
10.スコアを出す main.js //...中略...
enemies.push(enemy); } }); var label = new Label(“SCORE:0”); game.rootScene.addChild(label); スコアの初期化 var score = 0; game.rootScene.addEventListener(‘touchstart’, function(e){ //...中略... enemies.splice(i, 1); score++; label.text = “SCORE:” + score; break; //...中略...
158.
10.スコアを出す main.js //...中略...
enemies.push(enemy); } }); var label = new Label(“SCORE:0”); game.rootScene.addChild(label); var score = 0; game.rootScene.addEventListener(‘touchstart’, function(e){ //...中略... enemies.splice(i, 1); score++; スコアの増加 label.text = “SCORE:” + score; break; //...中略...
159.
10.スコアを出す main.js //...中略...
enemies.push(enemy); } }); var label = new Label(“SCORE:0”); game.rootScene.addChild(label); var score = 0; game.rootScene.addEventListener(‘touchstart’, function(e){ //...中略... enemies.splice(i, 1); score++; 表示の更新 label.text = “SCORE:” + score; break; //...中略...
160.
あなたがシューティングゲームを
作るのに必要なたった10個の要素 625 users 1. enchant.js初期化 6. 弾を撃つ 2. 自機を出す 7. 弾で敵を倒す 3. 自機を動かす 8. 敵をたくさん出す 4. 敵を出す 9. ゲームオーバーを作る 5. 敵を動かす 10.スコアを出す http://chephes.com/meetup/
161.
あなたがシューティングゲームを
作るのに必要なたった10個の要素 625 users 1. enchant.js初期化 6. 弾を撃つ 済 2. 自機を出す 7. 弾で敵を倒す 3. 自機を動かす 8. 敵をたくさん出す 4. 敵を出す 9. ゲームオーバーを作る 5. 敵を動かす 10.スコアを出す http://chephes.com/meetup/
162.
1
enchant(); 2 window.onload=function(){ 3 var game=new Game(320, 320); 4 game.preload('chara1.gif', 'chara2.gif','icon0.gif'); 5 game.onload=function(){ 6 ! var player=new Sprite(32,32); 7 ! player.image=game.assets['chara1.gif']; 8 ! game.rootScene.addChild(player); 9 ! var enemies = []; 10 ! game.rootScene.addEventListener('enterframe', function(){ 11 ! ! if(Math.random() < 0.1){ 12 ! ! ! var enemy=new Sprite(32, 32); 13 ! ! ! enemy.image=game.assets['chara2.gif']; 14 ! ! ! enemy.x = 320 - 32; 15 ! ! ! enemy.y = (320 - 32) * Math.random(); 16 ! ! ! game.rootScene.addChild(enemy); 17 ! ! ! enemy.addEventListener('enterframe', function(){ 18 ! ! ! ! this.x -= 2; 19 ! ! ! ! if(player.intersect(this)){ 20 ! ! ! ! ! game.stop(); 21 ! ! ! ! ! var label = new Label('GAME OVER'); 22 ! ! ! ! ! label.font = '32px sans-serif'; 23 ! ! ! ! ! label.x = 50; 24 ! ! ! ! ! label.y = 150; 25 ! ! ! ! ! game.rootScene.addChild(label); 26 ! ! ! ! } 27 ! ! ! }); 28 ! ! ! enemies.push(enemy); 29 ! ! } 30 ! });
163.
31
! var label = new Label("SCORE:0"); 32 ! game.rootScene.addChild(label); 33 ! var score = 0; 34 ! game.rootScene.addEventListener('touchstart', function(e){ 35 ! ! player.y=e.y; 36 ! ! var missile=new Sprite(16,16); 37 ! ! missile.image=game.assets['icon0.gif']; 38 ! ! missile.frame=54; 39 ! ! missile.x=player.x; 40 ! ! missile.y=player.y; 41 ! ! missile.addEventListener('enterframe',function(){ 42 ! ! ! this.x += 2; 43 ! ! ! for(var i = 0; i < enemies.length; i++){ 44 ! ! ! ! if(enemies[i].intersect(this)){ 45 ! ! ! ! ! game.rootScene.removeChild(enemies[i]); 46 ! ! ! ! ! game.rootScene.removeChild(this); 47 ! ! ! ! ! enemies.splice(i, 1); 48 ! ! ! ! ! score++; 49 ! ! ! ! ! label.text = "SCORE:" + score; 50 ! ! ! ! ! break; 51 ! ! ! ! } 52 ! ! ! } 53 ! ! }); 54 ! ! game.rootScene.addChild(missile); 55 ! }); 56 }; 57 game.start(); 58 };
164.
発展 アイテムなどを作ってみる 敵キャラのバリエーションを増やす ステージを作ってみる 敵をクラス化してみる 弾をクラス化してみる
Download