這階段心緒比較亂,是以這篇開頭就不扯淡了。(誰說大姨夫來了我跟誰急!~~)
說到大姨夫我突然想到英雄聯盟有個美女解說叫伊芙蕾亞,她的堂弟ID竟然叫:姨夫累呀,好笑吧(呵呵,有點冷~~額,我都說不扯淡了)。
------------
前天有個網友問我一些關于scrollView的用法,由于在QQ上實在講不清,是以就利用晚上的時間寫這篇部落格出來了。
本篇要實作的功能是用scrollView 拖動對象時,對象移動到某個固定範圍會有放大、縮小的效果。下面開始。
在進入正題前我先簡短的介紹下scrollView應該怎麼用吧(想必大家也都會用~~):
1、記得在頭檔案裡包含 “../extensions/cocos-ext.h",順便聲明下作用域:USING_NS_CC_EXT;
2、在類的繼承裡 加上ScrollViewDelegate,如下:
3、在類的聲明中,加上三個scrollView的委托函數,如下:
4、實在不想繼續說廢話了,直接看執行個體吧。
先看頭檔案:
下面看定義
接下來看下scrollView的委托函數,這裡隻要看scrollViewDidScroll 就好了。實作效果是對象在某個坐标範圍内移動時會有縮放效果。
恩,注釋寫的很清楚啦,但我還是要稍微補充一些東東:我們應該知道,對象放到滾動層上(如scroll_layer->addChild(boy)),那麼不管對象在scrollView上如何移動,它獲得的坐标都是不會變的(如boy->getPosition()是不變的數值),這種情況下,如果我們想實作對象在某個坐标範圍内會有縮放效果,那麼隻是去擷取對象的坐标肯定是行不通的,是以肯定要找一個時刻在變化的”參照物”來利用下,該找什麼呢?沒錯,就是scrollView的偏移坐标(scrollView->getContentOffset())!隻要scrollView移動一下,那麼它的 偏移量也随之改變。我這裡就是利用對象的坐标與scrollView的偏移坐标之間不可告人的秘密,進而實作目前的目的。
下面看下運作效果。
尊重原創,轉載請注明來源: