SpriteKit筆記_Part1

? ? ? ?最近基于SpriteKit做了幾個(gè)小項(xiàng)目,由于小項(xiàng)目也并不是很難,因此也沒(méi)有把SpriteKit中很多的功能發(fā)揮出來(lái)。程度大概是對(duì)SpriteKit進(jìn)行了一個(gè)初步的了解。

? ? ? 1.首先導(dǎo)入庫(kù)#import <SpriteKit/SpriteKit.h>

? ? ? 2.創(chuàng)建游戲場(chǎng)景,游戲場(chǎng)景由一個(gè)叫SKView的容器裝載,SKView基于UIView,本人覺(jué)得SKView承擔(dān)一個(gè)類似統(tǒng)籌的角色,可以監(jiān)控游戲場(chǎng)景scene的幀率/場(chǎng)景中精靈的個(gè)數(shù)/渲染/控制圖層關(guān)系等。

創(chuàng)建小游戲場(chǎng)景

? ? ? ? 3.SKView presentScene后,會(huì)走進(jìn)GameScene的didMoveToView方法中,在此方法中,你能開(kāi)始創(chuàng)建各種精靈圖片,就像在view上創(chuàng)建各種控件,比如按鈕STControlSprite/文字標(biāo)簽SKLabelNode/圖片SKSpriteNode,此處有幾個(gè)小坑,其一:frame是頂部為0,而底部為高,但到了SpriteKit這里,底部為0,而頂部為高,并且通過(guò)size和;其二:SKLabelNode文字標(biāo)簽中,創(chuàng)建后,如果不對(duì)屬性fontName進(jìn)行設(shè)定,那么顯示出來(lái)的文字會(huì)呈半透明狀態(tài),坑得不要不要的;其三,如果想實(shí)現(xiàn)精靈的點(diǎn)擊事件要重寫(xiě)touch事件,不過(guò)有封裝好的,STSpriteKit,里面有STControlSprite類,比較專門(mén)處理點(diǎn)擊事件;其四,如果要實(shí)現(xiàn)label文字的一些特殊效果,比如陰影效果等,需要用富文本drawInrect畫(huà)出來(lái),文字左右對(duì)齊/居中等需要通過(guò)anchorPoint進(jìn)行設(shè)置,當(dāng)然,也有封裝好的,比如SKLabelNodePlus用起來(lái)就簡(jiǎn)單多了。

創(chuàng)建場(chǎng)景,這里有個(gè)小坑,如果要切圓角,需要用的SKShapeNode,或者直接用圖片頂上,還未搞懂shapenode的position為啥會(huì)有半個(gè)物體的偏移

????4.如下圖,做一個(gè)場(chǎng)景,點(diǎn)擊開(kāi)始,右邊的方框像泡泡龍噴出泡泡的效果,泡泡落在綠色和紫色的方框內(nèi);開(kāi)啟定時(shí)器,隨機(jī)生成SKshapeNode的泡泡,落點(diǎn)在綠色node與紫色node的隨機(jī)位置上;

撒泡泡

5.然后順便玩了一下里面的粒子效果,年紀(jì)大記性差,趁還記得過(guò)會(huì)把紋理、粒子效果的學(xué)習(xí)也記錄一下;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容