Top Banner
Cocos2d-xで ステージビルダー機能開発 技術・UIで工夫したところ 株式会社トランスリミット 川端 和樹
37

Cocos2d xでぬるぬる動くビルダー機能実装

Apr 16, 2017

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cocos2d xでぬるぬる動くビルダー機能実装

Cocos2d-xで ステージビルダー機能開発 技術・UIで工夫したところ

株式会社トランスリミット 川端 和樹

Page 2: Cocos2d xでぬるぬる動くビルダー機能実装

自己紹介川端 和樹

2015 新卒入社@Kawabata_Lemon

Page 3: Cocos2d xでぬるぬる動くビルダー機能実装

1400万ダウンロード 1000万ダウンロード以上

Page 4: Cocos2d xでぬるぬる動くビルダー機能実装

Nonverbal・非言語

Global・グローバル

Page 5: Cocos2d xでぬるぬる動くビルダー機能実装

線を描いて

ぶつける

Page 6: Cocos2d xでぬるぬる動くビルダー機能実装

開発環境

Cocos2d-x 3.5

Chipmunk

Page 7: Cocos2d xでぬるぬる動くビルダー機能実装

ステージを つくる

ステージをあそぶステージを あそぶ

ステージビルダー機能

1日に1万ステージが作られている 10秒に1つのステージが作られている

Page 8: Cocos2d xでぬるぬる動くビルダー機能実装

こんなステージも作れる

Page 9: Cocos2d xでぬるぬる動くビルダー機能実装

こんなステージも作れる

Page 10: Cocos2d xでぬるぬる動くビルダー機能実装

こんなステージも作れる

Page 11: Cocos2d xでぬるぬる動くビルダー機能実装

こんなステージも作れる

Page 12: Cocos2d xでぬるぬる動くビルダー機能実装

こんなステージも作れる

Page 13: Cocos2d xでぬるぬる動くビルダー機能実装

アジェンダ

ステージを つくる

ステージをあそぶ

Page 14: Cocos2d xでぬるぬる動くビルダー機能実装

ステージ作成

Page 15: Cocos2d xでぬるぬる動くビルダー機能実装

様々なオブジェクト

Page 16: Cocos2d xでぬるぬる動くビルダー機能実装

通常の図形

->スケールと回転のみで対応

Page 17: Cocos2d xでぬるぬる動くビルダー機能実装

伸びるオブジェクト

Page 18: Cocos2d xでぬるぬる動くビルダー機能実装

伸びるオブジェクトcocos2d::ui::Scale9Spriteで処理

->動的に剛体もサイズに応じて作り直している

Page 19: Cocos2d xでぬるぬる動くビルダー機能実装

伸びるオブジェクトSprite生成し続ける ->エディター画面で重くなる

->一つのSpriteにシェーダで描かせる

Page 20: Cocos2d xでぬるぬる動くビルダー機能実装

頂点シェーダ

フラグメントシェーダ

Page 21: Cocos2d xでぬるぬる動くビルダー機能実装

ステージの保持

{ }オブジェクトのタイプ ポジション スケール 角度

コンテントサイズ

->データサイズに気をつける

Page 22: Cocos2d xでぬるぬる動くビルダー機能実装

UIの工夫タップエフェクト

Page 23: Cocos2d xでぬるぬる動くビルダー機能実装

UIの工夫ゴミ箱

Page 24: Cocos2d xでぬるぬる動くビルダー機能実装

UIの工夫

スマホへの配慮

Page 25: Cocos2d xでぬるぬる動くビルダー機能実装

問題と工夫

Page 26: Cocos2d xでぬるぬる動くビルダー機能実装

オブジェクトの回転剛体を持つオブジェクトに

setRotationを行っても反映されない

中間ノードを挟んでそれにsetRotationすることで解決

Page 27: Cocos2d xでぬるぬる動くビルダー機能実装

タップの判定BoundingBoxでタッチ判定をしていた

->重なった時に編集できない

図形内の座標に変換して 頂点間とのベクトルと外積を計算 ->すべて正かどうかで判断

Page 28: Cocos2d xでぬるぬる動くビルダー機能実装

アジェンダ

ステージをあそぶ

ステージをつくる

Page 29: Cocos2d xでぬるぬる動くビルダー機能実装

ステージを遊ぶ

Page 30: Cocos2d xでぬるぬる動くビルダー機能実装

UIの工夫フォルダの導入

Page 31: Cocos2d xでぬるぬる動くビルダー機能実装

UIの工夫削除のUI

Page 32: Cocos2d xでぬるぬる動くビルダー機能実装

ステージのクリア率

Page 33: Cocos2d xでぬるぬる動くビルダー機能実装

ステージのクリア率

->Amazon SNSにメッセージ送信

プレイ回数を毎回計測するAPIを作ると サーバーの負荷がかかる

->Amazon SQSで集計

Page 34: Cocos2d xでぬるぬる動くビルダー機能実装

Deeplink

iOS9だとTwitterの内部ブラウザがDeepLink非対応

Page 35: Cocos2d xでぬるぬる動くビルダー機能実装

まとめ・Cocosで物理エンジンを扱うのは大変

・バイナリのサイズを抑えられる・海外からは容量の大きいアプリは嫌がられる

・直接コードをいじれる

・情報リソースの少なさ、仕様・バグの放置

Page 36: Cocos2d xでぬるぬる動くビルダー機能実装

世界で戦うプロダクトを作ってみませんか

メンバー募集中!

Page 37: Cocos2d xでぬるぬる動くビルダー機能実装

ご清聴ありがとうございました