Submit Search
Upload
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 3
•
0 likes
•
739 views
Takuya Mukohira
Follow
苫小牧高専 ソフトウェアテクノロジー部 新入生向けの資料です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 41
Download now
Download to read offline
Recommended
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 4
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 4
Takuya Mukohira
20130629 linkdraw
20130629 linkdraw
Toshikatsu Murakoshi
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
Unity Technologies Japan K.K.
【CEDEC2014】アセットパイプラインを構築する上で重要な事~映像業界⇔ゲーム業界双方の視点から見た本質的なパイプライン
【CEDEC2014】アセットパイプラインを構築する上で重要な事~映像業界⇔ゲーム業界双方の視点から見た本質的なパイプライン
RYUTARO OSAFUNE
GearVR向けのゲームを作ってみた際にわかったこと
GearVR向けのゲームを作ってみた際にわかったこと
mao_
㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!
Nishida Kansuke
Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」
Yusuke HIDESHIMA
Ember.js Tokyo event 2014/09/22 (Japanese)
Ember.js Tokyo event 2014/09/22 (Japanese)
Yuki Shimada
Recommended
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 4
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 4
Takuya Mukohira
20130629 linkdraw
20130629 linkdraw
Toshikatsu Murakoshi
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
Unity Technologies Japan K.K.
【CEDEC2014】アセットパイプラインを構築する上で重要な事~映像業界⇔ゲーム業界双方の視点から見た本質的なパイプライン
【CEDEC2014】アセットパイプラインを構築する上で重要な事~映像業界⇔ゲーム業界双方の視点から見た本質的なパイプライン
RYUTARO OSAFUNE
GearVR向けのゲームを作ってみた際にわかったこと
GearVR向けのゲームを作ってみた際にわかったこと
mao_
㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!
Nishida Kansuke
Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」
Yusuke HIDESHIMA
Ember.js Tokyo event 2014/09/22 (Japanese)
Ember.js Tokyo event 2014/09/22 (Japanese)
Yuki Shimada
テキストアドベンチャーゲームのアーキテクチャと工程
テキストアドベンチャーゲームのアーキテクチャと工程
tuna cook
My sqlで2億件のシリアルデータと格闘した話
My sqlで2億件のシリアルデータと格闘した話
saiken3110
20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸
Takahiro Iwase
[初音ミク] Kinesis でフリーザを撃て!
[初音ミク] Kinesis でフリーザを撃て!
崇之 清水
コキュートスSwest19
コキュートスSwest19
Natsutani Minoru
Lua文化の伝承!? WFSにおけるイベントスクリプト活用術〜すべてはより良いコンテンツ制作のために〜
Lua文化の伝承!? WFSにおけるイベントスクリプト活用術〜すべてはより良いコンテンツ制作のために〜
gree_tech
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
Takuya Mukohira
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 1
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 1
Takuya Mukohira
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 2
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 2
Takuya Mukohira
ブログ駆動人生 - 高専生のキャリアについて考える会(20150823)
ブログ駆動人生 - 高専生のキャリアについて考える会(20150823)
Takuya Mukohira
Global Game Jam Sapporo 2016 参加記 - Josho.LT
Global Game Jam Sapporo 2016 参加記 - Josho.LT
Takuya Mukohira
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
Takuya Mukohira
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
Shin Ise
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
Takahito Tejima
Cocos2dを使ったi phoneゲーム開発手法
Cocos2dを使ったi phoneゲーム開発手法
Nishida Kansuke
【GTMF2018TOKYO】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
【GTMF2018TOKYO】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
Unity Technologies Japan K.K.
Tableau tips紹介20201221
Tableau tips紹介20201221
NakajimaShunta
はじめての「R」
はじめての「R」
Masahiro Hayashi
資料
資料
Bob_Mk2
HTML5など社内勉強会 Vol.2 - HTML5, CSS3
HTML5など社内勉強会 Vol.2 - HTML5, CSS3
George Harada
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
Hibiki Yamashiro
初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)
Masahiro Hayashi
More Related Content
What's hot
テキストアドベンチャーゲームのアーキテクチャと工程
テキストアドベンチャーゲームのアーキテクチャと工程
tuna cook
My sqlで2億件のシリアルデータと格闘した話
My sqlで2億件のシリアルデータと格闘した話
saiken3110
20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸
Takahiro Iwase
[初音ミク] Kinesis でフリーザを撃て!
[初音ミク] Kinesis でフリーザを撃て!
崇之 清水
コキュートスSwest19
コキュートスSwest19
Natsutani Minoru
Lua文化の伝承!? WFSにおけるイベントスクリプト活用術〜すべてはより良いコンテンツ制作のために〜
Lua文化の伝承!? WFSにおけるイベントスクリプト活用術〜すべてはより良いコンテンツ制作のために〜
gree_tech
What's hot
(6)
テキストアドベンチャーゲームのアーキテクチャと工程
テキストアドベンチャーゲームのアーキテクチャと工程
My sqlで2億件のシリアルデータと格闘した話
My sqlで2億件のシリアルデータと格闘した話
20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸
[初音ミク] Kinesis でフリーザを撃て!
[初音ミク] Kinesis でフリーザを撃て!
コキュートスSwest19
コキュートスSwest19
Lua文化の伝承!? WFSにおけるイベントスクリプト活用術〜すべてはより良いコンテンツ制作のために〜
Lua文化の伝承!? WFSにおけるイベントスクリプト活用術〜すべてはより良いコンテンツ制作のために〜
Viewers also liked
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
Takuya Mukohira
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 1
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 1
Takuya Mukohira
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 2
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 2
Takuya Mukohira
ブログ駆動人生 - 高専生のキャリアについて考える会(20150823)
ブログ駆動人生 - 高専生のキャリアについて考える会(20150823)
Takuya Mukohira
Global Game Jam Sapporo 2016 参加記 - Josho.LT
Global Game Jam Sapporo 2016 参加記 - Josho.LT
Takuya Mukohira
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
Takuya Mukohira
Viewers also liked
(6)
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 1
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 1
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 2
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 2
ブログ駆動人生 - 高専生のキャリアについて考える会(20150823)
ブログ駆動人生 - 高専生のキャリアについて考える会(20150823)
Global Game Jam Sapporo 2016 参加記 - Josho.LT
Global Game Jam Sapporo 2016 参加記 - Josho.LT
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
Similar to 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 3
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
Shin Ise
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
Takahito Tejima
Cocos2dを使ったi phoneゲーム開発手法
Cocos2dを使ったi phoneゲーム開発手法
Nishida Kansuke
【GTMF2018TOKYO】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
【GTMF2018TOKYO】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
Unity Technologies Japan K.K.
Tableau tips紹介20201221
Tableau tips紹介20201221
NakajimaShunta
はじめての「R」
はじめての「R」
Masahiro Hayashi
資料
資料
Bob_Mk2
HTML5など社内勉強会 Vol.2 - HTML5, CSS3
HTML5など社内勉強会 Vol.2 - HTML5, CSS3
George Harada
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
Hibiki Yamashiro
初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)
Masahiro Hayashi
Tokyo.R #67 初心者セッション3
Tokyo.R #67 初心者セッション3
Nozomi Miyazaki
Stan勉強会資料(前編)
Stan勉強会資料(前編)
daiki hojo
ハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶ
Yuta Kitagami
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
Nishida Kansuke
㉗HTML5+jQueryでお絵かき
㉗HTML5+jQueryでお絵かき
Nishida Kansuke
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]
DeNA
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
聡 中川
【第3回初心者勉強会】データベースを使おう
【第3回初心者勉強会】データベースを使おう
Shuhei Iitsuka
Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
Katsutoshi Makino
FINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperを支えたGolang
Yoshiki Shibukawa
Similar to 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 3
(20)
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
Cocos2dを使ったi phoneゲーム開発手法
Cocos2dを使ったi phoneゲーム開発手法
【GTMF2018TOKYO】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
【GTMF2018TOKYO】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
Tableau tips紹介20201221
Tableau tips紹介20201221
はじめての「R」
はじめての「R」
資料
資料
HTML5など社内勉強会 Vol.2 - HTML5, CSS3
HTML5など社内勉強会 Vol.2 - HTML5, CSS3
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)
Tokyo.R #67 初心者セッション3
Tokyo.R #67 初心者セッション3
Stan勉強会資料(前編)
Stan勉強会資料(前編)
ハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶ
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
㉗HTML5+jQueryでお絵かき
㉗HTML5+jQueryでお絵かき
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1
【第3回初心者勉強会】データベースを使おう
【第3回初心者勉強会】データベースを使おう
Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
FINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperを支えたGolang
More from Takuya Mukohira
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料
Takuya Mukohira
向平卓矢について - 2015/12/23 ITエンジニア高専 逆求人
向平卓矢について - 2015/12/23 ITエンジニア高専 逆求人
Takuya Mukohira
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5
Takuya Mukohira
Web APIを使って生活を便利にしたい件
Web APIを使って生活を便利にしたい件
Takuya Mukohira
開発の道具についてのお話 LOUPE Study #15
開発の道具についてのお話 LOUPE Study #15
Takuya Mukohira
やってみようCHaser - LOUPE Study #7
やってみようCHaser - LOUPE Study #7
Takuya Mukohira
Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1
Takuya Mukohira
Nokogiri on Rails
Nokogiri on Rails
Takuya Mukohira
第4回 釧路OSS札幌 勉強会「自己紹介LT」 #946oss札幌
第4回 釧路OSS札幌 勉強会「自己紹介LT」 #946oss札幌
Takuya Mukohira
Git学ぼうぜの会 ハンズオン資料 - LOCAL学生部 GWイベント
Git学ぼうぜの会 ハンズオン資料 - LOCAL学生部 GWイベント
Takuya Mukohira
LT Kosenconf946 #2
LT Kosenconf946 #2
Takuya Mukohira
学校にギークっぽい集団を作ってみたかった Kosenconf946 #2
学校にギークっぽい集団を作ってみたかった Kosenconf946 #2
Takuya Mukohira
120811高専カンファin旭川 ふるさと自慢(千歳と恵庭)
120811高専カンファin旭川 ふるさと自慢(千歳と恵庭)
Takuya Mukohira
More from Takuya Mukohira
(13)
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料
向平卓矢について - 2015/12/23 ITエンジニア高専 逆求人
向平卓矢について - 2015/12/23 ITエンジニア高専 逆求人
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5
Web APIを使って生活を便利にしたい件
Web APIを使って生活を便利にしたい件
開発の道具についてのお話 LOUPE Study #15
開発の道具についてのお話 LOUPE Study #15
やってみようCHaser - LOUPE Study #7
やってみようCHaser - LOUPE Study #7
Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1
Nokogiri on Rails
Nokogiri on Rails
第4回 釧路OSS札幌 勉強会「自己紹介LT」 #946oss札幌
第4回 釧路OSS札幌 勉強会「自己紹介LT」 #946oss札幌
Git学ぼうぜの会 ハンズオン資料 - LOCAL学生部 GWイベント
Git学ぼうぜの会 ハンズオン資料 - LOCAL学生部 GWイベント
LT Kosenconf946 #2
LT Kosenconf946 #2
学校にギークっぽい集団を作ってみたかった Kosenconf946 #2
学校にギークっぽい集団を作ってみたかった Kosenconf946 #2
120811高専カンファin旭川 ふるさと自慢(千歳と恵庭)
120811高専カンファin旭川 ふるさと自慢(千歳と恵庭)
Recently uploaded
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
Recently uploaded
(9)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 3
1.
テーマ1 enchant.js で ゲーム作り (3) 2015/05/12 苫小牧高専
ソフトウェアテクノロジー部
2.
今日やること • 前回のまとめ • インデントの話 •
ラベルを表示しよう
3.
前回のまとめ
4.
クマさん端っこで消える問題
5.
クマさん端っこで消える問題 • bear.x が
320を超えた時、 bear.xを0にリセットすれば良いのでは?
6.
if文 if (条件) { 処理; }
7.
bearのX座標が320を超えたら 0にリセット enchant(); window.onload = function()
{ var core = new Core(320, 320); core.preload('chara1.png'); core.onload = function() { var bear = new Sprite(32, 32); bear.image = core.assets['chara1.png']; bear.x = 0; bear.y = 0; core.rootScene.addChild(bear); bear.addEventListener('enterframe', function() { this.x += 3; if (this.x > 320) { this.x = 0; } }); } core.start(); }
8.
if文 if (this.x >
320) { this.x = 0; } ↓ this.x が 320を超えた時 ↑ this.x に 0 を設定する。
9.
クマさん端っこで消える問題 ☆解☆決☆
10.
キャラクターの アニメーションを作ってみる 前回のテーマ(1)
11.
main.js enchant(); window.onload = function()
{ var core = new Core(320, 320); core.preload('chara1.png'); core.onload = function() { var bear = new Sprite(32, 32); bear.image = core.assets['chara1.png']; bear.x = 0; bear.y = 0; core.rootScene.addChild(bear); bear.addEventListener('enterframe', function() { this.x += 3; this.frame = this.age % 3; if (this.x > 320) { this.x = 0; } }); } core.start(); } this.frame = this.age % 3;
12.
クマが歩いた!
13.
画像のフレーム について
14.
chara1.png
15.
ゲーム画面
16.
chara1.pngの 一部分(フレーム)を切り抜いて表示している var bear =
new Sprite(32, 32); // この画像は 32px で切り取ればOK
17.
chara1.pngの 一部分(フレーム)を切り抜いて表示している var bear =
new Sprite(32, 50); // 切り抜くサイズを間違えると大変なことになるので注意
18.
「キャラクターを操作してみる」 前回のテーマ(2)
19.
main.js ∼クマさんをコントロールする∼ // 省略 bear.addEventListener('enterframe', function()
{ this.frame = this.age % 3; if (core.input.left) { this.x -= 3; } if (core.input.right) { this.x += 3; } if (core.input.up) { this.y -= 3; } if (core.input.down) { this.y += 3; } }); // 省略
20.
main.js ∼クマさんをコントロールする∼ • 「もし、キーボードの○○が押されたら、○○方向へ移動 する。」 • 「もし、∼なら、∼する。」は
if文 • if (core.input.left) { this.x -= 3; } • 座標系に気をつけて! (X軸は右向きに正、Y軸は下向きに正)
21.
22.
インデント
23.
どっちが見やすい? enchant(); window.onload = function()
{ var core = new Core(320, 320); core.preload('chara1.png'); core.onload = function() { var bear = new Sprite(32, 32); bear.image = core.assets['chara1.png']; bear.x = 0; bear.y = 0; core.rootScene.addChild(bear); } core.start(); } enchant(); window.onload = function() { var core = new Core(320, 320); core.preload('chara1.png'); core.onload = function() { var bear = new Sprite(32, 32); bear.image = core.assets['chara1.png']; bear.x = 0; bear.y = 0; core.rootScene.addChild(bear); } core.start(); } インデントあり インデントなし
24.
インデントとは • インデント =
字下げ • インデントを使って、 入れ子になっている部分をわかりやすくするべし。 • インデントは、キーボードの[tab]キーで! (スペースキー連打はダメよ) • 自分と、他人(3日後の自分も他人!)が 見やすいコードを書くよう心がけよう!
25.
エディタの設定を いじってみよう • プログラマーを目指すなら、 道具を自分仕様に改造しよう! • プログラマにとっての道具
→ エディタ! • TeraPadのオートインデントを有効にしよう! • 自分のPCがある人は、 ぜひTeraPad以外のエディタを使ってみよう! (最近だとSublimeTextがオススメ?)
26.
27.
本題
28.
ラベルを表示してみる ∼ストップウォッチを表示してみよう∼ 今日のテーマ(1)
29.
main.js // 省略 if (core.input.down)
{ this.y += 3; } }); var label = new Label(); label.x = 280; label.y = 5; label.color = 'red'; label.font = '14px "Arial"'; label.text = '0'; label.on('enterframe', function() { label.text = core.frame / core.fps; }); core.rootScene.addChild(bear); core.rootScene.addChild(label); } core.start(); }
30.
ストップウォッチ的な
31.
main.js // 省略 if (core.input.down)
{ this.y += 3; } }); var label = new Label(); label.x = 280; label.y = 5; label.color = 'red'; label.font = '14px "Arial"'; label.text = '0'; label.on('enterframe', function() { label.text = core.frame / core.fps; }); core.rootScene.addChild(bear); core.rootScene.addChild(label); } core.start(); } ← labelを作成 ← 座標指定(おなじみ) ← 色指定 ← フォントとサイズ ← addChildを忘れずに! ← たぶんaddEventListenerと同じ
32.
label.on label.on('enterframe', function() { label.text
= core.frame / core.fps; }); • たぶんaddEventListenerと同じ • label.text は labelに表示されるテキスト。 そこに core.frame / core.fps を格納している。 • 現在のフレーム数をfpsで割れば秒数が出るよ!!
33.
課題1 1. カウントアップではなく、 カウントダウンしてみよう! 2. ラベルを整数だけの表示にしよう! 【ヒント】 5
/ 2; #=> 2.5 と表示される Math.floor(5 / 2); #=> 2 と表示される
34.
35.
衝突判定をやってみる ∼いよいよゲームっぽくなってきたかも∼ 今日のテーマ(2)
36.
衝突判定とは? • キャラクターとキャラクターが 衝突した事(イベント)を判定する処理。 • ゲームプログラミングには必須の処理!
37.
まずは敵を作ろう enchant(); window.onload = function()
{ var core = new Core(320, 320); core.preload('chara1.png'); core.onload = function() { var bear = new Sprite(32, 32); bear.image = core.assets['chara1.png']; bear.x = 0; bear.y = 0; var enemy = new Sprite(32, 32); enemy.image = core.assets['chara1.png']; enemy.x = 280; enemy.y = 50; enemy.frame = 5; bear.addEventListener('enterframe', function() { // 以下略 addChildするのも忘れずに! ← 敵は白いクマさん(フレーム番号5)にする
38.
衝突判定の処理を書こう // 省略 if (core.input.down)
{ this.y += 3; } if (this.within(enemy, 15)) { label.text = 'HIT!'; } }); var label = new Label(); label.x = 280; label.y = 5; label.color = 'red'; label.font = '14px "Arial"'; label.text = '0'; label.on('enterframe', function() { label.text = core.frame / core.fps; }); // 以下略 ↑ 衝突したらlabel.text を HIT! にする
39.
within if (this.within(enemy, 15))
{ label.text = 'HIT!'; } • thisはbear • this.within(enemy, 15) thisの中心とenemyの中心が15px近づいたらHIT! • 数値を変えれば衝突判定を厳しくしたり、 ゆるくしたりできる。
40.
課題2 1. 敵にアニメーションをつけよう! 2. 敵も動かしてみよう! 【適当に動かす?】 frameが進むごとにxやyを変えてみる? 【鬼ごっこゲーム?】 矢印キー以外を割り当てて、 2人で対戦できるようにする?
Download now