2021年8月27日 星期五

 



void MainHomeLayer::updateWaterFall(float dt)

{

    static float offset = 0;

    if(NULL != _waterFall)

    {

        _waterFall->removeFromParentAndCleanup(true);

    }


    CCSprite* background = (CCSprite*)this->getChildByTag(eMainHomeLayer_Background);

    CCSprite * waterFall = CCSprite::create("img/mainHome/waterfall.png");

    CCTexture2DPixelFormat pixelFormat =  waterFall->getTexture()->getPixelFormat();


    if(kTexture2DPixelFormat_RGBA8888 == pixelFormat ||

       kTexture2DPixelFormat_RGB5A1 == pixelFormat ||

       kTexture2DPixelFormat_RGBA4444 == pixelFormat)

    {

        float scaleX = background->getScaleX();

        float scaleY = background->getScaleY();


        ///Render Texture Begin

        CCSize textrueSize = CCSizeMake(waterFall->getContentSize().width  * scaleX,waterFall->getContentSize().height * scaleY);

        CCRenderTexture* renderTexture = CCRenderTexture::create(textrueSize.width, textrueSize.height, kTexture2DPixelFormat_RGBA8888);

        renderTexture->begin();


        ccBlendFunc blendFunc1 = {GL_ONE,GL_ONE_MINUS_SRC_ALPHA};

        waterFall->setBlendFunc(blendFunc1);

        waterFall->setOpacity(30);

        waterFall->setPosition(CCPointMake(textrueSize.width * 0.5, textrueSize.height * 0.5));

        waterFall->setScaleX(scaleX);

        waterFall->setScaleY(scaleY);

        waterFall->visit();


        ccBlendFunc blendFunc = {GL_DST_ALPHA,GL_ONE_MINUS_DST_ALPHA};

        ccTexParams tp = {GL_LINEAR,GL_LINEAR,GL_REPEAT,GL_REPEAT};

        float PIXRIS_PRR_SECOND_WATER  =  (CCRANDOM_0_1() * 20 + 20) * scaleY;

        CCSprite * water = CCSprite::create("img/mainHome/Water02.jpg");

        water->setBlendFunc(blendFunc);

        water->setScaleX(scaleX);

        water->setScaleY(scaleY);

        water->getTexture()->setTexParameters(&tp);

        water->setTextureRect(CCRectMake(0, -offset, water->getContentSize().width, water->getContentSize().height));

        water->setPosition(CCPointMake(textrueSize.width * 0.5, textrueSize.height * 0.5));

        water->visit();


        renderTexture->end();

        ///Render Texture End


        this->setWaterFall(renderTexture->getSprite());

        this->getWaterFall()->removeFromParentAndCleanup(true);

        CCSize winSize = CCDirector::sharedDirector()->getWinSize();

        this->getWaterFall()->setPosition(CCPointMake(winSize.width * 0.87, winSize.height * 0.8));

        this->addChild(this->getWaterFall(),100);


        offset += PIXRIS_PRR_SECOND_WATER * dt;

    }

}


原文链接:https://blog.csdn.net/zhenyu5211314/article/details/78357156

2021年4月12日 星期一

Visual Studio Code 修改 Tab設定

 https://medium.com/@yujiewang/rails-visual-studio-code-%E4%BF%AE%E6%94%B9-tab%E8%A8%AD%E5%AE%9A-74b0fc748f28


寫Ruby的時候依據慣例會習慣使用 2 個空白來設定縮排
但 Visual Studio Code 預設是使用 Tab 來做縮排的,寬度還是 4
這就需要一些調整啦…

點選 狀態列上的 [空白:4] (這邊因為我已經改完才截圖 所以顯示為2)

選擇 [使用空格鍵進行縮排]

然後選擇定位點長度 2 就完成啦

其實這些設定應該是一樣有存成一個config檔的。
之後有研究到再更新摟。

— 2018 06 18 更新 — 結果發現上述的做法只會修正單檔XD

如果套用完整設定的話
先開啟一個 .rb 後,點選狀態列的 ruby 字樣

點選 進行以 ‘Ruby’ 語言為基礎的設定

就會切換到 User Settings的畫面
在使用者設定底下的 “[ruby]”:{} 區域中 加上
“editor.tabSize”: 2 “editor.insertSpaces”: true 就好啦

畫面中只加了 tabSize是因為左邊的全域設定都已經是 insertSpaces : true了
所以我就沒加了,如果要加多個設定的話記得在中間加上 , 喔 :D

cocos2dx-lua 建立滑鼠監聽

重要關鍵字  EVENT_MOUSE_SCROLL addEventListenerWithSceneGraphPriority      if IsPc() then --建立滑鼠監聽         local listener = cc.EventListenerMouse...