投稿

ついにアイカツおじさんと化してきた話

これは[アイカツ!Advent Calendar 2017 15日目](https://adventar.org/calendars/2157)の記事です タイトルの通りで、ついに[アイカツ!アーケード](http://www.aikatsu.com/stars/)を遊んできました。 これで僕もアイカツおじさんの仲間入りです :) 基本女児向けのゲームなので、人の目を気にしてこれまで遊べてなかったんですよね。 ちなみにこちらが学生証 👍 ![学生証](https://user-images.githubusercontent.com/2672857/34334631-80778da8-e98b-11e7-993b-d8a9da9b6cb0.jpg) 今回は私のように、遊びに行けてない人に向けて、一歩目を踏み出せるような情報を提供していこうかと思います。 ## 初プレイに向けた下準備 ざっくり言うと下記の4つです - 最低200円を準備する - 勇気を持つ - 遊びに行くゲームセンターを決める - アイカツ友達を作り、付き添ってもらう約束をする ### 最低200円を準備する 基本プレイは100円ですが、初回プレイに必要には200円必要です。 そう学生証です。学生証が100円って安いですね(?) 学生証を買って初めてDCDアイカツの世界に入れます。 ### 勇気を持つ 人目を気にしない勇気がどうしても必要です。 これは当日までアイカツ!アニメなどを見て溜めておくと良いでしょう。 プレイ3回目で慣れてくると思います。 ### ゲームセンターを決める 想像にすぎないですが、大型スーパーなどは女児の楽しむ時間を奪ってしまいそうな為、避けるべきかとと思います。 そういったこともあり、女児がいそうな時間を避けて秋葉原のHeyに行きました。 なお、場所決めには[4日目の記事(DCDアイカツをする上で気をつけていること / 最高の店舗)](http://gomayumax.hatenablog.com/entry/2017/12/04/142319)を参考にすると良さそうです。 ### アイカツ友達を作り、付き添ってもらう約束をする これ**超重要**です。 楽しみの共有であったり、最初の一歩を踏み出させてくれます。 🤝 ##

cocos2d-x v3系で UI Nodesを試す Button編

普段、MenuやMenuItemを駆使しボタンを実装していたのだが、Buttonクラスも用意されていたようだ。 なぜ今まで気づかなかったのか... ``` auto button = ui::Button::create(); button->loadTextures( "images/btn/btn_off.png", "images/btn/btn_on.png", "images/btn/btn_disabled.png"); button->setPosition(Point(0, 0)); button->setAnchorPoint(Vec2::ZERO); button->setTouchEnabled(true); button->addTouchEventListener([this](Ref* pSender, cocos2d::ui::Widget::TouchEventType type) { switch (type) { case ui::Widget::TouchEventType::BEGAN: break; case ui::Widget::TouchEventType::MOVED: break; case ui::Widget::TouchEventType::CANCELED: break; case ui::Widget::TouchEventType::ENDED: break; default: break; } }); this->addChild(button); ``` 画面左下にボタンが現れていることだろう。 (ラムダで書くとスッキリする 以上、Gist的な投稿でした。

cocos2d-x v3系で UI Nodesを試す TableView編

qiitaに投稿した : http://qiita.com/isaoeka/items/bc92d348d375a3c6325e 全く同じ内容をココにも残す。 --- cocos2d-x v3系のTableViewを試したので、メモ。 今回は表示する内容をVectorで持つことにしました。 下記にお試しコードを記載 ```HelloWorldScene.h #include "cocos2d.h" #include "extensions/cocos-ext.h" USING_NS_CC; USING_NS_CC_EXT; class HelloWorld : public Layer, public TableViewDataSource, public TableViewDelegate { private: std::vector _contents; public: static cocos2d::Scene* createScene(); virtual bool init(); // TableView Delegate virtual Size cellSizeForTable(TableView* table); virtual TableViewCell* tableCellAtIndex(TableView* table, ssize_t idx); virtual ssize_t numberOfCellsInTableView(TableView* table); virtual void tableCellTouched(TableView* table, TableViewCell* cell); CREATE_FUNC(HelloWorld); }; ``` 本来であれば、headerファイルでUSING_NS_xxx;を指定するのは辞めたほうがいいですね。 ```HelloWorldScene.cpp bool HelloWorld::init() { if (!Layer::init()) {

cocos2d-xのblinkが思っていたのと違う

cocos2d-x標準のblinkが1,0の点滅を行うチカチカした点滅であったので、 フェードで点滅を行うような実装をしてみる cocos2d-x 3系で実装を試す。 #### 初期化 ``` mSprite = Sprite::create("hoge.png"); mSprite->setPosition(Vec2(100,100)); this->addChild(mSprite, 4); this->schedule(schedule_selector(HelloWorld::tapToStartSchedule)); ``` #### スケジュールの実装 ``` void HelloWorld::blinkSchedule(float frame) { static float x = 255; x += 0.08; //数値はよしなに int middle = 128; mSprite->setOpacity( sin(x) * middle + middle ); // 0~255 if(x >= FLT_MAX) x=0; } ``` blinkScheduleの実装が気になるが、ひとまず思い描いた動きをさせることができた。

cocos2d-x 3.3 WebViewを触ってみる。

cocos2d-x 3.3 (beta0)からWebViewが使えるようになったとのことで、なんの工夫もなくやってみた。 ``` bool HelloWorld::init() { if ( !Layer::init() ) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); auto webView = cocos2d::experimental::ui::WebView::create(); webView->setPosition(visibleSize/2); webView->setContentSize(visibleSize); webView->loadURL("http://www.google.com"); webView->setScalesPageToFit(true); this->addChild(webView, 1); return true; } ``` ひとまずこれで表示される。 ``` setOnShouldStartLoading ``` のようなcallbackもちゃんと用意されているようなので、後で書く。