余りにも雑なスパムメッセージ。

騙されるか!

まず、ツッコミどころ3つ。

一つ目は、自分は今(たぶん5年以上)NTTドコモユーザーではない。

なので、いまさら利用料金云々言われることはあり得ない。

そして、二つ目は発信元電話番号である。

このような重要なメッセージが携帯電話の番号から掛かってくるわけが無いだろう。

そして三つ目、同じようなメッセージが以前にも届いてきたのである。

微妙に発信元番号と連絡先番号を変えている。

本当に重要なメッセージを繰り返し通知するのならば同じ連絡先になるはずである。

完全に墓穴掘ってるね。

おそらくですが、オイラの使用している電話番号が元々ドコモでもらった電話番号だからと言うのがあると思います。

ケータイの電話番号は、キャリア毎に使用できる番号が割り当てられていて、Webのツールを使えば、その番号がどのキャリアか、というのが解るようになっています。

ただし、これはあくまでも目安であって、確実では無い。

なぜなら、ナンバーポータビリティでキャリアを変えてしまえば、上のようなツールを使っても正確にキャリアを特定することができなくなったのです。

オイラの電話番号が元々ドコモの番号だったからドコモからの請求を装ってメッセージを投げてきたのだろう。

ちなみに、オイラの現在のキャリアは楽天モバイルである。

さらに言うと、連絡先に電話かけて文句言ってやろうか、と思っても、連絡先は委託されたコールセンターなので、あまり意味は無いし、自身の番号が有効である事が相手に解ってしまうので、スルーするのがいちばんよいです。

【COCOS2D-X】クエストリストをスクロールしすぎないように調整する。

https://github.com/takishita2nd/cocos2d-x_sample

こんなかんじになりました。

今回はスクロール処理にもう少し手を加えて、

スクロールしすぎないようにストッパ処理を追加しました。

    if(questListMenu.isShow)
    {
        // Yの差分だけメニューを動かす
        float divY = touch->getLocation().y - keepPosition.y;
        auto visibleSize = Director::getInstance()->getVisibleSize();
        Vec2 origin = Director::getInstance()->getVisibleOrigin();

        if(questListMenu.questListMenu[0].parts.point.y - questListMenu.questListMenu[0].parts.size.height + divY < visibleSize.height)
        {
            for(int i = 0; i < QUEST_NUM; i++)
            {
                questListMenu.questListMenu[i].parts.point = Vec2(questListMenu.parts.point.x, questListMenu.parts.point.y - questListMenu.questListMenu->parts.sprite->getContentSize().height * (i + 1));
                questListMenu.questListMenu[i].parts.sprite->setPosition(questListMenu.questListMenu[i].parts.point);
                questListMenu.questListMenu[i].questName.point = Vec2(questListMenu.questListMenu[i].parts.point.x + questListMenu.questListMenu[i].parts.size.width / 30.0, questListMenu.questListMenu[i].parts.point.y);
                questListMenu.questListMenu[i].questName.label->setPosition(questListMenu.questListMenu[i].questName.point);
            }
        }
        else if(questListMenu.questListMenu[QUEST_NUM - 1].parts.point.y + divY >= origin.y)
        {
            int listcount = 0;
            for(int i = QUEST_NUM - 1; i <= 0; i--)
            {
                questListMenu.questListMenu[QUEST_NUM - 1].parts.sprite->setPosition(questListMenu.questListMenu[i].parts.point.x, questListMenu.questListMenu[0].parts.point.y * listcount + origin.y);
                questListMenu.questListMenu[QUEST_NUM - 1].parts.point.y = questListMenu.questListMenu[0].parts.point.y * listcount + origin.y;
                questListMenu.questListMenu[QUEST_NUM - 1].questName.label->setPosition(questListMenu.questListMenu[i].questName.point.x, questListMenu.questListMenu[0].parts.point.y * listcount + origin.y);
                questListMenu.questListMenu[QUEST_NUM - 1].questName.point.y = questListMenu.questListMenu[0].parts.point.y * listcount + origin.y;
                listcount++;
            }
        }
        else
        {
            for(int i = 0; i < QUEST_NUM; i++)
            {
                questListMenu.questListMenu[i].parts.sprite->setPosition(questListMenu.questListMenu[i].parts.point.x, questListMenu.questListMenu[i].parts.point.y + divY);
                questListMenu.questListMenu[i].parts.point.y = questListMenu.questListMenu[i].parts.point.y + divY;
                questListMenu.questListMenu[i].questName.label->setPosition(questListMenu.questListMenu[i].questName.point.x, questListMenu.questListMenu[i].questName.point.y + divY);
                questListMenu.questListMenu[i].questName.point.y = questListMenu.questListMenu[i].questName.point.y + divY;
            }
        }

        keepPosition.y += divY;
    }

考え方としては、

リストの先頭が画面上部のサイズから下に移動しそうなときは初期位置に設定する、

リストの最後が画面の下から上にいs¥どうしそうなときは下からリストを並べる、

といった感じです。

じゃあ、次はタップで選択処理だな。