231
HTML5 + JavaScriptで作るゲーム開発

Impact beginngers guide_1.19

Embed Size (px)

DESCRIPTION

IMPACTJS and iOSIMPACT beginner's guide.

Citation preview

Page 1: Impact beginngers guide_1.19

HTML5 + JavaScriptで作るゲーム開発

Page 2: Impact beginngers guide_1.19
Page 3: Impact beginngers guide_1.19

•自己紹介

Page 4: Impact beginngers guide_1.19

•自己紹介• IMPACTの紹介

Page 5: Impact beginngers guide_1.19

•自己紹介• IMPACTの紹介• IMPACTのワークフロー

Page 6: Impact beginngers guide_1.19

•自己紹介• IMPACTの紹介• IMPACTのワークフロー• iOSとIMPACT

Page 7: Impact beginngers guide_1.19

•自己紹介• IMPACTの紹介• IMPACTのワークフロー• iOSとIMPACT•デモ

Page 8: Impact beginngers guide_1.19

自己紹介 part1

@Seasonscocos2d AUTHORKobold2D member

Blog:Seasons.NET•cocos2dリリース情報の翻訳•テクニカル情報の翻訳•Kobold2Dドキュメント翻訳

@cocos2dfan_jp 管理人•cocos2dに関する情報を不定期にポスト

Page 9: Impact beginngers guide_1.19

自己紹介 part2

iOSでの代表作

執筆業務iPhoneマガジン、Software Design

Page 10: Impact beginngers guide_1.19

IMPACTの紹介

Page 11: Impact beginngers guide_1.19

•有償$99ライセンスが必要

IMPACTの紹介

Page 12: Impact beginngers guide_1.19

•有償$99ライセンスが必要•2Dゲーム開発フレームワーク

IMPACTの紹介

Page 13: Impact beginngers guide_1.19

•有償$99ライセンスが必要•2Dゲーム開発フレームワーク•HTML5 + JavaScriptで開発

IMPACTの紹介

Page 14: Impact beginngers guide_1.19

•有償$99ライセンスが必要•2Dゲーム開発フレームワーク•HTML5 + JavaScriptで開発•ゲームに特化したクラス群

IMPACTの紹介

Page 15: Impact beginngers guide_1.19

•有償$99ライセンスが必要•2Dゲーム開発フレームワーク•HTML5 + JavaScriptで開発•ゲームに特化したクラス群•高度なレベルエディタ付属

IMPACTの紹介

Page 16: Impact beginngers guide_1.19

•有償$99ライセンスが必要•2Dゲーム開発フレームワーク•HTML5 + JavaScriptで開発•ゲームに特化したクラス群•高度なレベルエディタ付属•連携ツール

IMPACTの紹介

Page 17: Impact beginngers guide_1.19

IMPACTの紹介

Page 18: Impact beginngers guide_1.19

IMPACTの紹介

http://impactjs.com/

Page 19: Impact beginngers guide_1.19

IMPACTの紹介

http://impactjs.com/

ググる時は、”IMPACT javascript”で検索!!

Page 20: Impact beginngers guide_1.19

IMPACTの紹介

http://impactjs.com/

ググる時は、”IMPACT javascript”で検索!!

$99ドル買い切りライセンス

Page 21: Impact beginngers guide_1.19

IMPACTの紹介

http://impactjs.com/

ググる時は、”IMPACT javascript”で検索!!

$99ドル買い切りライセンス•体験版なし

Page 22: Impact beginngers guide_1.19

IMPACTの紹介

http://impactjs.com/

ググる時は、”IMPACT javascript”で検索!!

$99ドル買い切りライセンス•体験版なし•購入後のライセンスキーでリソースアクセス

Page 23: Impact beginngers guide_1.19

IMPACTの紹介

http://impactjs.com/

ググる時は、”IMPACT javascript”で検索!!

$99ドル買い切りライセンス•体験版なし•購入後のライセンスキーでリソースアクセス•リソースページでサンプル、ライブラリ配布

Page 24: Impact beginngers guide_1.19

IMPACTの紹介

http://impactjs.com/

ググる時は、”IMPACT javascript”で検索!!

$99ドル買い切りライセンス•体験版なし•購入後のライセンスキーでリソースアクセス•リソースページでサンプル、ライブラリ配布•最新版は、githubで取得可能(ライセンス必須)

Page 25: Impact beginngers guide_1.19

IMPACTの紹介

http://impactjs.com/

ググる時は、”IMPACT javascript”で検索!!

$99ドル買い切りライセンス•体験版なし•購入後のライセンスキーでリソースアクセス•リソースページでサンプル、ライブラリ配布•最新版は、githubで取得可能(ライセンス必須)

version 1.19new!!

Page 26: Impact beginngers guide_1.19

IMPACTの紹介

http://impactjs.com/

ググる時は、”IMPACT javascript”で検索!!

$99ドル買い切りライセンス•体験版なし•購入後のライセンスキーでリソースアクセス•リソースページでサンプル、ライブラリ配布•最新版は、githubで取得可能(ライセンス必須)

impact ライブラリ

version 1.19new!!

Page 27: Impact beginngers guide_1.19

IMPACTの紹介

http://impactjs.com/

ググる時は、”IMPACT javascript”で検索!!

$99ドル買い切りライセンス•体験版なし•購入後のライセンスキーでリソースアクセス•リソースページでサンプル、ライブラリ配布•最新版は、githubで取得可能(ライセンス必須)

impact ライブラリ

weltmeister(レベルエディタ)

version 1.19new!!

Page 28: Impact beginngers guide_1.19

IMPACTの紹介

HTML5 + JavaScript

Page 29: Impact beginngers guide_1.19

IMPACTの紹介

HTML5 + JavaScript

Canvas

Audio

Page 30: Impact beginngers guide_1.19

IMPACTの紹介

HTML5 + JavaScript

Canvas

Audio

JavaScript

Entity

Game

Input

Sound

Font Timer

Animation

Collision

etc...

Page 31: Impact beginngers guide_1.19

IMPACTの紹介

HTML5 + JavaScript

Canvas

Audio

JavaScript

Entity

Game

Input

Sound

Font Timer

Animation

Collision

Debug

Page 32: Impact beginngers guide_1.19

IMPACTの紹介

HTML5 + JavaScript

Canvas

Audio

JavaScript

Entity

Game

Input

Sound

Font Timer

Animation

Collision

•2Dゲーム開発に特化

Debug

Page 33: Impact beginngers guide_1.19

IMPACTの紹介

HTML5 + JavaScript

Canvas

Audio

JavaScript

Entity

Game

Input

Sound

Font Timer

Animation

Collision

•2Dゲーム開発に特化•ゲーム制作に必要なクラスを用意

Debug

Page 34: Impact beginngers guide_1.19

IMPACTの紹介

HTML5 + JavaScript

Canvas

Audio

JavaScript

Entity

Game

Input

Sound

Font Timer

Animation

Collision

•2Dゲーム開発に特化•ゲーム制作に必要なクラスを用意•HTML5のAudio,Canvasを利用

Debug

Page 35: Impact beginngers guide_1.19

IMPACTの紹介

HTML5 + JavaScript

Canvas

Audio

JavaScript

Entity

Game

Input

Sound

Font Timer

Animation

Collision

•2Dゲーム開発に特化•ゲーム制作に必要なクラスを用意•HTML5のAudio,Canvasを利用•どのブラウザでも動作

Debug

Page 36: Impact beginngers guide_1.19

IMPACTの紹介

HTML5 + JavaScript

Canvas

Audio

JavaScript

Entity

Game

Input

Sound

Font Timer

Animation

Collision

•2Dゲーム開発に特化•ゲーム制作に必要なクラスを用意•HTML5のAudio,Canvasを利用•どのブラウザでも動作

Debug

Page 37: Impact beginngers guide_1.19

IMPACTの紹介

Weltmeister(レベルエディタ)

Page 38: Impact beginngers guide_1.19

IMPACTの紹介

Weltmeister(レベルエディタ)

Page 39: Impact beginngers guide_1.19

IMPACTの紹介

Weltmeister(レベルエディタ)

Page 40: Impact beginngers guide_1.19

IMPACTの紹介

Weltmeister(レベルエディタ)

Page 41: Impact beginngers guide_1.19

IMPACTの紹介

Weltmeister(レベルエディタ)

•HTML5製(ブラウザで動作):Chrome推奨

Page 42: Impact beginngers guide_1.19

IMPACTの紹介

Weltmeister(レベルエディタ)

•HTML5製(ブラウザで動作):Chrome推奨•タイルをマウスで塗る感じでマップ作成

Page 43: Impact beginngers guide_1.19

IMPACTの紹介

Weltmeister(レベルエディタ)

•HTML5製(ブラウザで動作):Chrome推奨•タイルをマウスで塗る感じでマップ作成•ゲームレベルの構築、バランス調整

Page 44: Impact beginngers guide_1.19

IMPACTの紹介

Weltmeister(レベルエディタ)

•HTML5製(ブラウザで動作):Chrome推奨•タイルをマウスで塗る感じでマップ作成•ゲームレベルの構築、バランス調整•コリジョン、イベントの設定も可能

Page 45: Impact beginngers guide_1.19

IMPACTの紹介

連携ツール

http://impactjs.com/

※本家サイト Toolsリンクより

Page 46: Impact beginngers guide_1.19

IMPACTの紹介

連携ツール

http://impactjs.com/

※本家サイト Toolsリンクより

tween.js , box2d.js , director.jsなどライブラリ連携も可能

Page 47: Impact beginngers guide_1.19

IMPACTの紹介

連携ツール

http://impactjs.com/

※本家サイト Toolsリンクより

tween.js , box2d.js , director.jsなどライブラリ連携も可能

PhoneGap iOS,Android ゲームパッケージ用

Page 48: Impact beginngers guide_1.19

IMPACTの紹介

連携ツール

http://impactjs.com/

※本家サイト Toolsリンクより

tween.js , box2d.js , director.jsなどライブラリ連携も可能

PhoneGap iOS,Android ゲームパッケージ用

Lawnchair JSONベースのドキュメントストア

Page 49: Impact beginngers guide_1.19

IMPACTの紹介

連携ツール

http://impactjs.com/

※本家サイト Toolsリンクより

tween.js , box2d.js , director.jsなどライブラリ連携も可能

PhoneGap iOS,Android ゲームパッケージ用

Lawnchair JSONベースのドキュメントストア

TapJS ゲームプラットフォーム提供

Page 50: Impact beginngers guide_1.19

IMPACTの紹介

連携ツール

http://impactjs.com/

※本家サイト Toolsリンクより

tween.js , box2d.js , director.jsなどライブラリ連携も可能

PhoneGap iOS,Android ゲームパッケージ用

Lawnchair JSONベースのドキュメントストア

TapJS ゲームプラットフォーム提供

appMobi web上でiOS,Androidアプリ作成

Page 51: Impact beginngers guide_1.19

IMPACTの紹介

連携ツール

http://impactjs.com/

※本家サイト Toolsリンクより

tween.js , box2d.js , director.jsなどライブラリ連携も可能

PhoneGap iOS,Android ゲームパッケージ用

Lawnchair JSONベースのドキュメントストア

TapJS ゲームプラットフォーム提供

appMobi web上でiOS,Androidアプリ作成

Zeewe.com Cross Platform用appstore

Page 52: Impact beginngers guide_1.19

IMPACTの紹介

連携ツール

http://impactjs.com/

※本家サイト Toolsリンクより

tween.js , box2d.js , director.jsなどライブラリ連携も可能

PhoneGap iOS,Android ゲームパッケージ用

Lawnchair JSONベースのドキュメントストア

TapJS ゲームプラットフォーム提供

appMobi web上でiOS,Androidアプリ作成

Playtomic アナリティクス、スコアボード提供

Zeewe.com Cross Platform用appstore

Page 53: Impact beginngers guide_1.19

IMPACTのワークフロー

Page 54: Impact beginngers guide_1.19

•開発環境の構築

IMPACTのワークフロー

Page 55: Impact beginngers guide_1.19

•開発環境の構築• IMPACTのお作法

IMPACTのワークフロー

Page 56: Impact beginngers guide_1.19

•開発環境の構築• IMPACTのお作法•配布(Publish)

IMPACTのワークフロー

Page 57: Impact beginngers guide_1.19

IMPACTのワークフロー

開発に必要なもの

Page 58: Impact beginngers guide_1.19

IMPACTのワークフロー

開発に必要なもの

PC ( Windows,Mac,Linux ... )

Page 59: Impact beginngers guide_1.19

IMPACTのワークフロー

開発に必要なもの

PC ( Windows,Mac,Linux ... ) http://www.apachefriends.org/jp/xampp-windows.html

XAMPP( Apache )

Page 60: Impact beginngers guide_1.19

IMPACTのワークフロー

開発に必要なもの

PC ( Windows,Mac,Linux ... )

ブラウザ

http://www.apachefriends.org/jp/xampp-windows.html

XAMPP( Apache )

Page 61: Impact beginngers guide_1.19

IMPACTのワークフロー

開発に必要なもの

PC ( Windows,Mac,Linux ... )

ブラウザ

http://www.apachefriends.org/jp/xampp-windows.html

XAMPP( Apache )

テキストエディタ

Page 62: Impact beginngers guide_1.19

IMPACTのワークフロー

オススメエディタ

Page 63: Impact beginngers guide_1.19

IMPACTのワークフロー

オススメエディタ

http://macromates.com/

Page 64: Impact beginngers guide_1.19

IMPACTのワークフロー

オススメエディタ

http://macromates.com/

•有償:$57( 約4500円 )

Page 65: Impact beginngers guide_1.19

IMPACTのワークフロー

オススメエディタ

http://macromates.com/

•有償:$57( 約4500円 )•軽い!! web界では超有名エディタ

Page 66: Impact beginngers guide_1.19

IMPACTのワークフロー

オススメエディタ

http://macromates.com/

•有償:$57( 約4500円 )•軽い!! web界では超有名エディタ•Ruby on Rails使い必須らしい

Page 67: Impact beginngers guide_1.19

IMPACTのワークフロー

オススメエディタ

http://macromates.com/

•有償:$57( 約4500円 )•軽い!! web界では超有名エディタ•Ruby on Rails使い必須らしい•カスタマイズ機能が豊富

Page 68: Impact beginngers guide_1.19

IMPACTのワークフロー

オススメエディタ

http://macromates.com/

•有償:$57( 約4500円 )•軽い!! web界では超有名エディタ•Ruby on Rails使い必須らしい•カスタマイズ機能が豊富

https://github.com/paularmstrong/ImpactJS.tmbundle

tmbundle

Page 69: Impact beginngers guide_1.19

IMPACTのワークフロー

オススメエディタ

http://www.activestate.com/komodo-edithttp://macromates.com/

•有償:$57( 約4500円 )•軽い!! web界では超有名エディタ•Ruby on Rails使い必須らしい•カスタマイズ機能が豊富

https://github.com/paularmstrong/ImpactJS.tmbundle

tmbundle

Page 70: Impact beginngers guide_1.19

IMPACTのワークフロー

オススメエディタ

http://www.activestate.com/komodo-edithttp://macromates.com/

•有償:$57( 約4500円 )•軽い!! web界では超有名エディタ•Ruby on Rails使い必須らしい•カスタマイズ機能が豊富

•無償:0円

https://github.com/paularmstrong/ImpactJS.tmbundle

tmbundle

Page 71: Impact beginngers guide_1.19

IMPACTのワークフロー

オススメエディタ

http://www.activestate.com/komodo-edithttp://macromates.com/

•有償:$57( 約4500円 )•軽い!! web界では超有名エディタ•Ruby on Rails使い必須らしい•カスタマイズ機能が豊富

•無償:0円•ちょと起動が遅い。

https://github.com/paularmstrong/ImpactJS.tmbundle

tmbundle

Page 72: Impact beginngers guide_1.19

IMPACTのワークフロー

オススメエディタ

http://www.activestate.com/komodo-edithttp://macromates.com/

•有償:$57( 約4500円 )•軽い!! web界では超有名エディタ•Ruby on Rails使い必須らしい•カスタマイズ機能が豊富

•無償:0円•ちょと起動が遅い。•補完をデフォルトで装備(精度低い)

https://github.com/paularmstrong/ImpactJS.tmbundle

tmbundle

Page 73: Impact beginngers guide_1.19

IMPACTのワークフロー

オススメエディタ

http://www.activestate.com/komodo-edithttp://macromates.com/

•有償:$57( 約4500円 )•軽い!! web界では超有名エディタ•Ruby on Rails使い必須らしい•カスタマイズ機能が豊富

•無償:0円•ちょと起動が遅い。•補完をデフォルトで装備(精度低い)•カスタマイズ可能

https://github.com/paularmstrong/ImpactJS.tmbundle

tmbundle

Page 74: Impact beginngers guide_1.19

IMPACTのワークフロー

オススメエディタ

http://www.activestate.com/komodo-edithttp://macromates.com/

•有償:$57( 約4500円 )•軽い!! web界では超有名エディタ•Ruby on Rails使い必須らしい•カスタマイズ機能が豊富

•無償:0円•ちょと起動が遅い。•補完をデフォルトで装備(精度低い)•カスタマイズ可能•本家IMPACTの動画でも使われている

https://github.com/paularmstrong/ImpactJS.tmbundle

tmbundle

Page 75: Impact beginngers guide_1.19

IMPACTのワークフロー

開発ワークフロー

Page 76: Impact beginngers guide_1.19

IMPACTのワークフロー

開発ワークフロー

素材作成

Page 77: Impact beginngers guide_1.19

IMPACTのワークフロー

開発ワークフロー

素材作成

Page 78: Impact beginngers guide_1.19

IMPACTのワークフロー

開発ワークフロー

Entityの作成

素材作成

Page 79: Impact beginngers guide_1.19

IMPACTのワークフロー

開発ワークフロー

Entityの作成

素材作成

Page 80: Impact beginngers guide_1.19

IMPACTのワークフロー

開発ワークフロー

Entityの作成

素材作成

レベル作成(Weltmeister)

Page 81: Impact beginngers guide_1.19

IMPACTのワークフロー

開発ワークフロー

Entityの作成

素材作成

レベル作成(Weltmeister)

Page 82: Impact beginngers guide_1.19

IMPACTのワークフロー

開発ワークフロー

Entityの作成

素材作成

レベル作成(Weltmeister)

テストプレイ

Page 83: Impact beginngers guide_1.19

IMPACTのワークフロー

素材作成

Page 84: Impact beginngers guide_1.19

IMPACTのワークフロー

素材作成

Page 85: Impact beginngers guide_1.19

IMPACTのワークフロー

素材作成IMPACTで使う素材は、ドット絵が多い。以下のソフトを使って作成。

Page 86: Impact beginngers guide_1.19

IMPACTのワークフロー

素材作成IMPACTで使う素材は、ドット絵が多い。以下のソフトを使って作成。

Page 87: Impact beginngers guide_1.19

IMPACTのワークフロー

素材作成IMPACTで使う素材は、ドット絵が多い。以下のソフトを使って作成。

Page 88: Impact beginngers guide_1.19

IMPACTのワークフロー

エンティティの作成

Page 89: Impact beginngers guide_1.19

IMPACTのワークフロー

エンティティの作成ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

! init: function( x, y, settings ) { /* 初期化関連 */! },!! update: function() {! ! /* 毎フレーム処理すること */! ! this.parent();! },});});

Page 90: Impact beginngers guide_1.19

IMPACTのワークフロー

エンティティの作成ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

! init: function( x, y, settings ) { /* 初期化関連 */! },!! update: function() {! ! /* 毎フレーム処理すること */! ! this.parent();! },});});

Page 91: Impact beginngers guide_1.19

IMPACTのワークフロー

エンティティの作成ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

! init: function( x, y, settings ) { /* 初期化関連 */! },!! update: function() {! ! /* 毎フレーム処理すること */! ! this.parent();! },});});

*エンティティについて*

Page 92: Impact beginngers guide_1.19

IMPACTのワークフロー

エンティティの作成ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

! init: function( x, y, settings ) { /* 初期化関連 */! },!! update: function() {! ! /* 毎フレーム処理すること */! ! this.parent();! },});});

*エンティティについて*•エンティティは、ig.Entityを継承

Page 93: Impact beginngers guide_1.19

IMPACTのワークフロー

エンティティの作成ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

! init: function( x, y, settings ) { /* 初期化関連 */! },!! update: function() {! ! /* 毎フレーム処理すること */! ! this.parent();! },});});

*エンティティについて*•エンティティは、ig.Entityを継承•必要なパラメーターを実装

Page 94: Impact beginngers guide_1.19

IMPACTのワークフロー

エンティティの作成ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

! init: function( x, y, settings ) { /* 初期化関連 */! },!! update: function() {! ! /* 毎フレーム処理すること */! ! this.parent();! },});});

*エンティティについて*•エンティティは、ig.Entityを継承•必要なパラメーターを実装•名前は、Entity + ファイル名

Page 95: Impact beginngers guide_1.19

IMPACTのワークフロー

エンティティの作成ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

! init: function( x, y, settings ) { /* 初期化関連 */! },!! update: function() {! ! /* 毎フレーム処理すること */! ! this.parent();! },});});

*エンティティについて*•エンティティは、ig.Entityを継承•必要なパラメーターを実装•名前は、Entity + ファイル名

*記述するコード*

Page 96: Impact beginngers guide_1.19

IMPACTのワークフロー

エンティティの作成ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

! init: function( x, y, settings ) { /* 初期化関連 */! },!! update: function() {! ! /* 毎フレーム処理すること */! ! this.parent();! },});});

*エンティティについて*•エンティティは、ig.Entityを継承•必要なパラメーターを実装•名前は、Entity + ファイル名

*記述するコード*•init:初期化コード

Page 97: Impact beginngers guide_1.19

IMPACTのワークフロー

エンティティの作成ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

! init: function( x, y, settings ) { /* 初期化関連 */! },!! update: function() {! ! /* 毎フレーム処理すること */! ! this.parent();! },});});

*エンティティについて*•エンティティは、ig.Entityを継承•必要なパラメーターを実装•名前は、Entity + ファイル名

*記述するコード*•init:初期化コード•update:毎フレーム処理するコード( キー入力、移動処理など )

Page 98: Impact beginngers guide_1.19

IMPACTのワークフロー

エンティティの作成ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

! init: function( x, y, settings ) { /* 初期化関連 */! },!! update: function() {! ! /* 毎フレーム処理すること */! ! this.parent();! },});});

*エンティティについて*•エンティティは、ig.Entityを継承•必要なパラメーターを実装•名前は、Entity + ファイル名

*記述するコード*•init:初期化コード•update:毎フレーム処理するコード( キー入力、移動処理など )•draw:カスタム描画コード

Page 99: Impact beginngers guide_1.19

IMPACTのワークフロー

エンティティの作成ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

! init: function( x, y, settings ) { /* 初期化関連 */! },!! update: function() {! ! /* 毎フレーム処理すること */! ! this.parent();! },});});

*エンティティについて*•エンティティは、ig.Entityを継承•必要なパラメーターを実装•名前は、Entity + ファイル名

*記述するコード*•init:初期化コード•update:毎フレーム処理するコード( キー入力、移動処理など )•draw:カスタム描画コード•check:当たり判定コード

Page 100: Impact beginngers guide_1.19

IMPACTのワークフロー

エンティティの作成ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

! init: function( x, y, settings ) { /* 初期化関連 */! },!! update: function() {! ! /* 毎フレーム処理すること */! ! this.parent();! },});});

*エンティティについて*•エンティティは、ig.Entityを継承•必要なパラメーターを実装•名前は、Entity + ファイル名

*記述するコード*•init:初期化コード•update:毎フレーム処理するコード( キー入力、移動処理など )•draw:カスタム描画コード•check:当たり判定コードetc...

Page 101: Impact beginngers guide_1.19

IMPACTのワークフロー

レベル作成

Page 102: Impact beginngers guide_1.19

IMPACTのワークフロー

レベル作成

Page 103: Impact beginngers guide_1.19

IMPACTのワークフロー

レベル作成直感的な操作

Page 104: Impact beginngers guide_1.19

IMPACTのワークフロー

レベル作成

•マウスでタイルを描画+コリジョン•作成したエンティティを配置

直感的な操作

Page 105: Impact beginngers guide_1.19

IMPACTのワークフロー

レベル作成

•マウスでタイルを描画+コリジョン•作成したエンティティを配置

直感的な操作

グラフィカルなイベント

Page 106: Impact beginngers guide_1.19

IMPACTのワークフロー

レベル作成

•マウスでタイルを描画+コリジョン•作成したエンティティを配置

直感的な操作

グラフィカルなイベント

Page 107: Impact beginngers guide_1.19

IMPACTのワークフロー

レベル作成

•マウスでタイルを描画+コリジョン•作成したエンティティを配置

直感的な操作

•関連するイベント同士をコネクト•イベントのコリジョンサイズの設定(マウスでドラッグして位置と調整)

グラフィカルなイベント

Page 108: Impact beginngers guide_1.19

IMPACTのワークフロー

レベル作成

•マウスでタイルを描画+コリジョン•作成したエンティティを配置

直感的な操作

•関連するイベント同士をコネクト•イベントのコリジョンサイズの設定(マウスでドラッグして位置と調整)

グラフィカルなイベント

Page 109: Impact beginngers guide_1.19

IMPACTのワークフロー

レベル作成

•マウスでタイルを描画+コリジョン•作成したエンティティを配置

直感的な操作

•関連するイベント同士をコネクト•イベントのコリジョンサイズの設定(マウスでドラッグして位置と調整)

グラフィカルなイベント

*.js レベルデータとして保存

Page 110: Impact beginngers guide_1.19

IMPACTのワークフロー

テストプレイ

Page 111: Impact beginngers guide_1.19

IMPACTのワークフロー

テストプレイ

Page 112: Impact beginngers guide_1.19

IMPACTのワークフロー

テストプレイ

Page 113: Impact beginngers guide_1.19

IMPACTのワークフロー

テストプレイ

Page 114: Impact beginngers guide_1.19

IMPACTのワークフロー

テストプレイ

レベルの調整

Page 115: Impact beginngers guide_1.19

IMPACTのワークフロー

テストプレイ

•バランス調整•マップ、エンティティの調整

レベルの調整

Page 116: Impact beginngers guide_1.19

IMPACTのワークフロー

テストプレイ

ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

! init: function( x, y, settings ) { /* 初期化関連 */! },!! update: function() {!! /* 毎フレーム処理すること */! ! this.parent();! },});});

•バランス調整•マップ、エンティティの調整

レベルの調整

Page 117: Impact beginngers guide_1.19

IMPACTのワークフロー

テストプレイ

ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

! init: function( x, y, settings ) { /* 初期化関連 */! },!! update: function() {!! /* 毎フレーム処理すること */! ! this.parent();! },});});

エンティティの調整

•バランス調整•マップ、エンティティの調整

レベルの調整

Page 118: Impact beginngers guide_1.19

IMPACTのワークフロー

テストプレイ

ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

! init: function( x, y, settings ) { /* 初期化関連 */! },!! update: function() {!! /* 毎フレーム処理すること */! ! this.parent();! },});});

•動き、パラメータの調整•入力、描画の修正

エンティティの調整

•バランス調整•マップ、エンティティの調整

レベルの調整

Page 119: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニングnew!! 1.18

Page 120: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニングnew!! 1.18

Page 121: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニングnew!!

新機能:debugモジュール

1.18

Page 122: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニングnew!!

新機能:debugモジュール・パフォーマンスグラフ

1.18

Page 123: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニングnew!!

新機能:debugモジュール・パフォーマンスグラフ・Entityのデバッグ機能

1.18

Page 124: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニングnew!!

新機能:debugモジュール・パフォーマンスグラフ・Entityのデバッグ機能・背景マップのデバッグ機能

1.18

Page 125: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニングnew!!

新機能:debugモジュール・パフォーマンスグラフ・Entityのデバッグ機能・背景マップのデバッグ機能

version 1.18features

1.18

Page 126: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニングig.module( ! 'game.main' ).requires(! 'impact.game',! 'impact.font', // デバッグモジュールを有効! 'impact.debug.debug', ).defines(function(){

new!!

新機能:debugモジュール・パフォーマンスグラフ・Entityのデバッグ機能・背景マップのデバッグ機能

version 1.18features

1.18

Page 127: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニングig.module( ! 'game.main' ).requires(! 'impact.game',! 'impact.font', // デバッグモジュールを有効! 'impact.debug.debug', ).defines(function(){

new!!

新機能:debugモジュール・パフォーマンスグラフ・Entityのデバッグ機能・背景マップのデバッグ機能

version 1.18features

1.18

Page 128: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニングig.module( ! 'game.main' ).requires(! 'impact.game',! 'impact.font', // デバッグモジュールを有効! 'impact.debug.debug', ).defines(function(){

new!!

新機能:debugモジュール・パフォーマンスグラフ・Entityのデバッグ機能・背景マップのデバッグ機能

version 1.18features

1.18

Page 129: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニングig.module( ! 'game.main' ).requires(! 'impact.game',! 'impact.font', // デバッグモジュールを有効! 'impact.debug.debug', ).defines(function(){

new!!

新機能:debugモジュール・パフォーマンスグラフ・Entityのデバッグ機能・背景マップのデバッグ機能

version 1.18features

1.18

Page 130: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニングig.module( ! 'game.main' ).requires(! 'impact.game',! 'impact.font', // デバッグモジュールを有効! 'impact.debug.debug', ).defines(function(){

new!!

新機能:debugモジュール・パフォーマンスグラフ・Entityのデバッグ機能・背景マップのデバッグ機能

version 1.18features

1.18

Page 131: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニングig.module( ! 'game.main' ).requires(! 'impact.game',! 'impact.font', // デバッグモジュールを有効! 'impact.debug.debug', ).defines(function(){

new!!

新機能:debugモジュール・パフォーマンスグラフ・Entityのデバッグ機能・背景マップのデバッグ機能

version 1.18features

1.18

Page 132: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニングig.module( ! 'game.main' ).requires(! 'impact.game',! 'impact.font', // デバッグモジュールを有効! 'impact.debug.debug', ).defines(function(){

new!!

新機能:debugモジュール・パフォーマンスグラフ・Entityのデバッグ機能・背景マップのデバッグ機能

version 1.18features

1.18

Page 133: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニングig.module( ! 'game.main' ).requires(! 'impact.game',! 'impact.font', // デバッグモジュールを有効! 'impact.debug.debug', ).defines(function(){

new!!

新機能:debugモジュール・パフォーマンスグラフ・Entityのデバッグ機能・背景マップのデバッグ機能

version 1.18features

・コリジョンの表示・速度ベクトルの表示・エンティティ名、ターゲットの表示

1.18

Page 134: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニング:debug用API

Page 135: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニング:debug用API

ig.log 第1引数:出力したいメッセージ

Page 136: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニング:debug用API

ig.logconsole.logの代替え(Debugモジュール利用時のみ出力)

第1引数:出力したいメッセージ

Page 137: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニング:debug用API

ig.logconsole.logの代替え(Debugモジュール利用時のみ出力)

ig.show

第1引数:出力したいメッセージ

第1引数:パラメータ名

第2引数:出力したいパラメータ

Page 138: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニング:debug用API

ig.logconsole.logの代替え(Debugモジュール利用時のみ出力)

ig.show

第1引数:出力したいメッセージ

第1引数:パラメータ名

第2引数:出力したいパラメータ

デバッグパネルに常時表示(updateメソッド内に記述)

Page 139: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニング:debug用API

ig.logconsole.logの代替え(Debugモジュール利用時のみ出力)

ig.show

第1引数:出力したいメッセージ

第1引数:パラメータ名

第2引数:出力したいパラメータ

デバッグパネルに常時表示(updateメソッド内に記述)

ig.mark第1引数:マーキング名

第2引数:カラー値( #FFFなど )

Page 140: Impact beginngers guide_1.19

IMPACTのワークフロー

チューニング:debug用API

ig.logconsole.logの代替え(Debugモジュール利用時のみ出力)

ig.show

第1引数:出力したいメッセージ

第1引数:パラメータ名

第2引数:出力したいパラメータ

デバッグパネルに常時表示(updateメソッド内に記述)

ig.mark第1引数:マーキング名

第2引数:カラー値( #FFFなど )

パフォーマンスグラフに表示(呼び出した時点でグラフに表示)

Page 141: Impact beginngers guide_1.19

IMPACT新機能

コリジョンタイプ追加new!! 1.19

Page 142: Impact beginngers guide_1.19

IMPACT新機能

コリジョンタイプ追加new!! 1.19

Page 143: Impact beginngers guide_1.19

IMPACT新機能

コリジョンタイプ追加new!! 1.19

Slope

Page 144: Impact beginngers guide_1.19

IMPACT新機能

コリジョンタイプ追加new!! 1.19

Slope

スロープ(坂)タイプの追加。

Page 145: Impact beginngers guide_1.19

IMPACT新機能

コリジョンタイプ追加new!! 1.19

Slope

スロープ(坂)タイプの追加。

Passing

Page 146: Impact beginngers guide_1.19

IMPACT新機能

コリジョンタイプ追加new!! 1.19

Slope

スロープ(坂)タイプの追加。

Passing

指定した方向のみ通過可能のコリジョン。

Page 147: Impact beginngers guide_1.19

IMPACT新機能

コリジョンタイプ追加new!! 1.19

Slope

スロープ(坂)タイプの追加。

Passing

指定した方向のみ通過可能のコリジョン。

Page 148: Impact beginngers guide_1.19

IMPACT新機能

コリジョンタイプ追加new!! 1.19

Slope

スロープ(坂)タイプの追加。

Passing

指定した方向のみ通過可能のコリジョン。

Page 149: Impact beginngers guide_1.19

IMPACT新機能

コリジョンタイプ追加new!! 1.19

Slope

スロープ(坂)タイプの追加。

Passing

指定した方向のみ通過可能のコリジョン。

チェックを入れる。・Tilesizeに基づいて自動的にリサイズ

Page 150: Impact beginngers guide_1.19

IMPACT新機能

コリジョンタイプ追加new!! 1.19

Slope

スロープ(坂)タイプの追加。

Passing

指定した方向のみ通過可能のコリジョン。

チェックを入れる。・Tilesizeに基づいて自動的にリサイズ

Page 151: Impact beginngers guide_1.19

IMPACTのワークフロー

配布(Publish)

Tools bake.sh •IMPACTの開発環境に同梱済み• #bake.sh で実行

Page 152: Impact beginngers guide_1.19

IMPACTのワークフロー

配布(Publish)

Tools bake.sh •IMPACTの開発環境に同梱済み• #bake.sh で実行

Page 153: Impact beginngers guide_1.19

IMPACTのワークフロー

配布(Publish)

ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

! init: function( x, y, settings ) { /* 初期化関連 */! },!! update: function() {!! /* 毎フレーム処理すること */! ! this.parent();! },});});

Tools bake.sh •IMPACTの開発環境に同梱済み• #bake.sh で実行

Page 154: Impact beginngers guide_1.19

IMPACTのワークフロー

配布(Publish)

Tools bake.sh

game_min.js •全てのソースコードを連結•コードの難読化=圧縮

Bakeによる効果

ゲームファイル

•IMPACTの開発環境に同梱済み• #bake.sh で実行

Page 155: Impact beginngers guide_1.19

iOSとIMPACT

Page 156: Impact beginngers guide_1.19

• iOSIMPACTとは?

iOSとIMPACT

Page 157: Impact beginngers guide_1.19

• iOSIMPACTとは?• iOSへの移植の注意点

iOSとIMPACT

Page 158: Impact beginngers guide_1.19

iOSIMPACTとは?

Page 159: Impact beginngers guide_1.19

iOSIMPACTとは?

Page 160: Impact beginngers guide_1.19

iOSIMPACTとは?

Page 161: Impact beginngers guide_1.19

iOSIMPACTとは?

Page 162: Impact beginngers guide_1.19

iOSIMPACTとは?

*特徴*

Page 163: Impact beginngers guide_1.19

iOSIMPACTとは?

•ソースコードがiOSでそのまま利用可能*特徴*

Page 164: Impact beginngers guide_1.19

iOSIMPACTとは?

•ソースコードがiOSでそのまま利用可能•OpenGLで描画処理

*特徴*

Page 165: Impact beginngers guide_1.19

iOSIMPACTとは?

•ソースコードがiOSでそのまま利用可能•OpenGLで描画処理•OpenALでサウンド処理

*特徴*

Page 166: Impact beginngers guide_1.19

iOSIMPACTとは?

•ソースコードがiOSでそのまま利用可能•OpenGLで描画処理•OpenALでサウンド処理•30~60fps!!

*特徴*

Page 167: Impact beginngers guide_1.19

iOSIMPACTとは?

•ソースコードがiOSでそのまま利用可能•OpenGLで描画処理•OpenALでサウンド処理•30~60fps!!•UIKitなどiOS独自の実装も可能

*特徴*

Page 168: Impact beginngers guide_1.19

iOSIMPACTとは?

アーキテクチャ

Page 169: Impact beginngers guide_1.19

iOSIMPACTとは?

アーキテクチャ

iOS

Page 170: Impact beginngers guide_1.19

iOSIMPACTとは?

アーキテクチャ

JavaScriptCore

iOS

Page 171: Impact beginngers guide_1.19

iOSIMPACTとは?

アーキテクチャ

JavaScriptCore

Audio(OpenAL)

iOS

Page 172: Impact beginngers guide_1.19

iOSIMPACTとは?

アーキテクチャ

JavaScriptCore

Canvas(OpenGL)

Audio(OpenAL)

iOS

Page 173: Impact beginngers guide_1.19

iOSIMPACTとは?

iOSの移植方法

ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

iOSIMPACT Xcode Project

*.js

Page 174: Impact beginngers guide_1.19

iOSIMPACTとは?

iOSの移植方法

ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

iOSIMPACT Xcode Project

*.js

Page 175: Impact beginngers guide_1.19

iOSIMPACTとは?

iOSの移植方法

ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

iOSIMPACT Xcode Project

*.js

Build Succeed

Page 176: Impact beginngers guide_1.19

iOSIMPACTとは?

iOSの移植方法

ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

iOSIMPACT Xcode Project*.app

*.js

Page 177: Impact beginngers guide_1.19

•ネイティブアプリケーション•AppStoreで販売可能

iOSIMPACTとは?

iOSの移植方法

ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

iOSIMPACT Xcode Project*.app

*.js

Page 178: Impact beginngers guide_1.19

•ネイティブアプリケーション•AppStoreで販売可能

iOSIMPACTとは?

iOSの移植方法

ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

iOSIMPACT Xcode Project*.app

*.js 例)

Page 179: Impact beginngers guide_1.19

•ネイティブアプリケーション•AppStoreで販売可能

iOSIMPACTとは?

iOSの移植方法

ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

iOSIMPACT Xcode Project*.app

*.js 例)

Biolab Disaster

Page 180: Impact beginngers guide_1.19

•ネイティブアプリケーション•AppStoreで販売可能

iOSIMPACTとは?

iOSの移植方法

ig.module(! 'game.entities.player').requires(! 'impact.entity').defines(function(){

EntityPlayer = ig.Entity.extend({!! size: {x: 12, y:10},! offset: {x: 4, y: 6},! type: ig.Entity.TYPE.A,! checkAgainst: ig.Entity.TYPE.NONE,! collides: ig.Entity.COLLIDES.PASSIVE,

iOSIMPACT Xcode Project*.app

*.js 例)

Drop JSBiolab Disaster

Page 181: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

Page 182: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

1)plugin読み込み

Page 183: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

1)plugin読み込み

Page 184: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

1)plugin読み込み

Page 185: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

1)plugin読み込み 2)スクロールメソッド変更

Page 186: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

1)plugin読み込み 2)スクロールメソッド変更

ig.game.screen.x,y

Page 187: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

1)plugin読み込み 2)スクロールメソッド変更

Page 188: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

1)plugin読み込み 2)スクロールメソッド変更

ig.game.setScreenPos(x,y)

Page 189: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

1)plugin読み込み 2)スクロールメソッド変更

ig.game.setScreenPos(x,y)impact 1.18

Page 190: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

1)plugin読み込み 2)スクロールメソッド変更

impact 1.18

Page 191: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

1)plugin読み込み 2)スクロールメソッド変更

impact 1.18ig.game.screen.x,y

Page 192: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

1)plugin読み込み 2)スクロールメソッド変更

impact 1.18ig.game.screen.x,y

互換あり!!

Page 193: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

Page 194: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

3)タッチエリアの実装

Page 195: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

3)タッチエリアの実装

Page 196: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

3)タッチエリアの実装

Page 197: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

Page 198: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

4)解像度の変更

Page 199: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

4)解像度の変更

iPad

Page 200: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

4)解像度の変更

iPadiPhone

Page 201: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

4)解像度の変更

iPadiPhone

768x1024

Page 202: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

4)解像度の変更

iPadiPhone

768x1024 320x480

Page 203: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

4)解像度の変更

ig.main()に適切な解像度を設定

iPadiPhone

768x1024 320x480

Page 204: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

Page 205: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

5)背景描画のパフォーマンス

Page 206: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

5)背景描画のパフォーマンス•マップのプリレンダリング有効

Page 207: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

5)背景描画のパフォーマンス•マップのプリレンダリング有効•チャンクサイズを256に変更

Page 208: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

5)背景描画のパフォーマンス•マップのプリレンダリング有効•チャンクサイズを256に変更

Page 209: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

5)背景描画のパフォーマンス•マップのプリレンダリング有効•チャンクサイズを256に変更

iOSIMPACTではdraw callの数だけ描画負荷が高くなる

Page 210: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

Page 211: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

6)サウンド

Page 212: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

6)サウンド•SE:caff formatに変更

Page 213: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

6)サウンド•SE:caff formatに変更•BGM:aac formatに変更

Page 214: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

6)サウンド•SE:caff formatに変更•BGM:aac formatに変更

LEI16@44100

Page 215: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

6)サウンド•SE:caff formatに変更•BGM:aac formatに変更

512KB

LEI16@44100

Page 216: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

6)サウンド•SE:caff formatに変更•BGM:aac formatに変更

512KB

LEI16@44100

Page 217: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

6)サウンド•SE:caff formatに変更•BGM:aac formatに変更

512KB

LEI16@44100

Page 218: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

6)サウンド•SE:caff formatに変更•BGM:aac formatに変更

OpenAL

512KBSE

LEI16@44100

Page 219: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

6)サウンド•SE:caff formatに変更•BGM:aac formatに変更

OpenAL

512KBSE

LEI16@44100

Page 220: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

6)サウンド•SE:caff formatに変更•BGM:aac formatに変更

OpenAL AVAudioPlayer

512KBSE BGM

LEI16@44100

Page 221: Impact beginngers guide_1.19

iOSIMPACTとは?

iOS移植ヘの注意点

6)サウンド•SE:caff formatに変更•BGM:aac formatに変更

ファイルサイズに応じて制御を変更

OpenAL AVAudioPlayer

512KBSE BGM

LEI16@44100

Page 222: Impact beginngers guide_1.19
Page 223: Impact beginngers guide_1.19

Live Demo

Page 224: Impact beginngers guide_1.19
Page 225: Impact beginngers guide_1.19

One more thing...

Page 226: Impact beginngers guide_1.19

One more thing...

Page 227: Impact beginngers guide_1.19
Page 228: Impact beginngers guide_1.19

Software

Design

Page 229: Impact beginngers guide_1.19

2011年9,10月号IMPACT連載!!

Software

Design

Page 230: Impact beginngers guide_1.19

2011年9,10月号IMPACT連載!!

Software

Design

Page 231: Impact beginngers guide_1.19

Enjoy!!