導航:首頁 > 文件教程 > spritekit中文教程

spritekit中文教程

發布時間:2021-03-21 19:46:13

⑴ 如何改變spritekit 節點大小

蘋果帶來的 SpriteKit 不僅僅只是增加了製作2D游戲的 API,還在 Xcode5 中集成了包括 Texture Atlas 和粒子系統等等專為 SpriteKit 服務的插件。本文將介紹如何在 SpriteKit 中使用 Texture Atlas和需要注意的一些問題,這個主題將分為兩部分來介紹,本文是第一部分。
Texture Atlas
Texture Atlas,又稱為 SpriteSheet,是游戲開發里非常常用的一種圖片技術。簡單的說,就是將多個圖片整合到一張大圖上,在使用圖片時通過從大圖上截取需要的部分來繪制正確的圖形的技術。作為游戲開發者,如果你還不知道 TextureAtlas 是什麼,或者為什麼要使用 Texture Atlas,請觀看下面的視頻。用一句話來說,就是為了加快繪制速度和節約內存使用。
製作 Texture Atlas

⑵ 蘋果官方提供的 SpriteKit 等游戲開發 SDK 和 cocos2d 游戲引擎各自有哪些優劣勢

SpiritKit不能跨平台,而且需要ios7+,沒有cocos那末強大的動畫編輯器。目前沒有足夠多的開發者、代碼資源和相干社區。對國外新加入行業或產品類型創意較強類型多變、專注於ios的游戲開發者,可能會採取SpriteKit。但在國內必須跨平台的環境下,cocos的地位穩如泰山。

⑶ 如何用Sprite Kit製作《太空入侵者》

作者:Joel Shapiro
註:這是作為iOS 7 Feast的組成部分而發布的全新Sprite Kit教程
在第1部分中,你創造了游戲的基礎。到目前為止你已經在游戲中添加了侵略者,艦船和平視顯示器(HUD)。你還編寫了邏輯代碼讓侵略者可以自動移動並在傾斜設備時移動艦船。
在第2部分也是最後一部分中,你將為艦船和外星人添加能力讓它們相互開火!你同樣也將添加音效和真實圖像去替代彩色的矩形(游戲邦註:即用於代表侵略者和艦船)而優化游戲
現在讓我們真正開始吧。
讓你的艦船發射激光炮
首先,你需要思考自己想要的發射艦船激光炮的場景。你決定使用單發快射去發射大炮。但是你該如何檢測這些單發快射?
你擁有兩個選擇:
1.UITapGestureRecognizer—-創造一個並將其附加到場景視圖中。
2.touchesEnded:withEvent:—-你的場景是UIResponder的子類;因此你可以使用它直接檢測碰觸。
在這種情況下(touchesEnded:withEvent:),第二種方法是最佳選擇。當你需要基於游戲中不同場景節點檢測並處理碰觸時,第一種方法會較為棘手,因為你只能夠在場景視圖中為UITapGestureRecognizer制定一個回調函數選擇器。而其它方法則不適合放在這一例子中。
因為所有的SKNode節點(包括SKScene)都能通過touchesEnded:withEvent:直接處理碰觸,第二種選擇能夠更自然地處理針對於節點的碰觸—-當你開發的游戲帶有更復雜發射處理時它將更有效。
既然你將在場景的touchesEnded:withEvent:方法中檢測用戶的發射,你該在這方法中做些什麼?
發射可以在游戲過程中的任何一個點發生。與之相反的是你的場景將發生改變—-源自update:方法的獨立間隔。所以在touchesEnded:withEvent:中任何時候你將如何儲存快射檢測,並在之後,也就是當被Sprite Kit游戲循環援用時對其進行加工。
答案是一個隊列!你將使用一個簡單的NSMutableArray在FIFO(先進先出)隊列中儲存你的快射。
在GameScene.m添加如下屬性到類擴展中:
@property (strong) NSMutableArray* tapQueue;
現在將如下內容添加到didMoveToView:中,也就是在[self.motionManager startAccelerometerUpdates];後面:
self.tapQueue = [NSMutableArray array];
self.userInteractionEnabled = YES;
上述代碼將快射隊列初始化為一個空白數組,並確保用戶互動適用於場景中,從而讓它能夠接收快射事件。
現在在#pragma mark – User Tap Helpers之後添加如下代碼:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
// Intentional no-op
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
// Intentional no-op
}
-(void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
// Intentional no-op
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch* touch = [touches anyObject];
if (touch.tapCount == 1) [self.tapQueue addObject:@1];
}
前三個問題只是無意義的存根;之所以會添加它們是因為當你沒有調用super而推翻touchesEnded:withEvent:時,蘋果會建議你這么做。
touchesEnded:withEvent:方法本身非常簡單。它只添加了一個條目到隊列中。你不需要定製類在隊列中儲存快射,因為你所需要做的便是明確快射的出現。因此,你可以使用任何早舊的對象。在此,你可以將整數1作為當一快射的記憶(@1是全新的對象-文字語言,即將把文字1轉變為一個NSNumber對象)。
因為你知道侵略者最終將向你的艦船發射子彈,所以在文件最上方的Custom Type

⑷ 如何在 Swift 3 中用 SpriteKit 框架編寫游戲

Metal和OpenGL ES類似,暫不支持自定義的OpenGL代碼;
【SceneKit】
SceneKit(SK)是WWDC12推出的OS X平台的Cocos 3D渲染引擎框架。支持粒子效果,允許在渲染每一幀之前處理該幀;
(3)提供了聲音播放,並且還集成了物理庫等許多東西。首先指出在iOS中開發2D游戲SpriteKit並不是唯一的選擇,它是一個支持GPU加速的3D繪圖API,可以通過這些API讓精靈動起來,可以使用OC或者Swift來進行開發。目前已經支持的內容包括:精靈、很酷的特效(例如視頻、濾鏡和遮罩),導致很難把游戲移植到Android等其他平台;
(2)SpriteKit現在還處於初始階段,提供的內容還不夠豐富。
SceneKit是基於OpenGL構建的。
【Metal】
在iOS8中,蘋果發布了一個新的介面叫做Metal,那麼你將被iOS生態圈綁架,負責和3D繪圖硬體交互:
(1)它是內置到iOS中的,物理模擬,腳本事件:
(1)提供了游戲引擎必備的圖形渲染和動畫API;
(2)它內置的工具支持紋理和粒子;
(3)它可以讓你做一些其他框架難以做到的事情;
(4)提供的物理引擎;
(5)與Xcode集成,可以更容易的創建基於Sprite Kit的游戲工程,調試也很方便,並且它是由蘋果開發的,所以對他的支持和更新我們可以放心,我們先來看看SpriteKit的特點和優缺點:
1.特點,例如Cocos2D,也是一個底層API,或者使用很酷的圖形效果和遮罩。
3.缺點【SpriteKit】
在iOS7中內置了新的SpriteKit框架,該框架主要用來開發2D游戲。是開發iOS和OS X 下的2D游戲引擎:
(1)如果使用了SpriteKit,例如把視頻當做精靈一樣處理;
(2)使用傳統的渲染和動畫,多程渲染,支持iOS平台。SceneKit整合了Core Image,Core Animation之類的圖形框架,現在還整合進了SpriteKit,因此並不需要額外的庫或者其他的外部依賴;
(6)可以使用Swift語言;
2.優點

⑸ 用spritekit里怎麼用uikit組件

//AS3.0//package{import flash.display.Sprite;import flash.events.Event;//定義類public class MoveBalls extends Sprite {//構造函數public function MoveBalls() {//初始化舞台 init(); }//構建初始化函數private function init() {//創建...

⑹ 有什麼知名的iOS游戲是用Sprite Kit開發的

蘋果帶來的 SpriteKit 不僅僅只是增加了製作2D游戲的 API,還在 Xcode5 中集成了包括 Texture Atlas 和粒子系統等等專為 SpriteKit 服務的插件。本文將介紹如何在 SpriteKit 中使用 Texture Atlas和需要注意的一些問題

⑺ IOS開發 問一個spritekit問題

將 self.view 實例化為 SKVIew 的對象。可以在 xib 中操作。 Custom Class 否則直接強轉肯定是不行的

⑻ scenekit和spritekit的區別

【SpriteKit】
在iOS7中內置了新的SpriteKit框架,該框架主要用來開發2D游戲。是開發iOS和OS X 下的2D游戲引擎,可以使用OC或者Swift來進行開發。目前已經支持的內容包括:精靈、很酷的特效(例如視頻、濾鏡和遮罩),並且還集成了物理庫等許多東西。首先指出在iOS中開發2D游戲SpriteKit並不是唯一的選擇,我們先來看看SpriteKit的特點和優缺點:
1.特點:
(1)提供了游戲引擎必備的圖形渲染和動畫API,可以通過這些API讓精靈動起來;
(2)使用傳統的渲染和動畫,允許在渲染每一幀之前處理該幀;
(3)提供了聲音播放;
(4)提供的物理引擎;
(5)與Xcode集成,可以更容易的創建基於Sprite Kit的游戲工程,調試也很方便;
(6)可以使用Swift語言;

2.優點:
(1)它是內置到iOS中的,因此並不需要下載額外的庫或者其他的外部依賴,並且它是由蘋果開發的,所以對他的支持和更新我們可以放心;
(2)它內置的工具支持紋理和粒子;
(3)它可以讓你做一些其他框架難以做到的事情,例如把視頻當做精靈一樣處理,或者使用很酷的圖形效果和遮罩。
3.缺點:
(1)如果使用了SpriteKit,那麼你將被iOS生態圈綁架,導致很難把游戲移植到Android等其他平台;
(2)SpriteKit現在還處於初始階段,提供的內容還不夠豐富,例如Cocos2D,暫不支持自定義的OpenGL代碼;

【SceneKit】
SceneKit(SK)是WWDC12推出的OS X平台的Cocos 3D渲染引擎框架。支持粒子效果,物理模擬,腳本事件,多程渲染,支持iOS平台。SceneKit整合了Core Image,Core Animation之類的圖形框架,現在還整合進了SpriteKit。
SceneKit是基於OpenGL構建的。

【Metal】
在iOS8中,蘋果發布了一個新的介面叫做Metal,它是一個支持GPU加速的3D繪圖API。Metal和OpenGL ES類似,也是一個底層API,負責和3D繪圖硬體交互。可惜的是,Metal不是跨平台的。

⑼ 如何在 SpriteKit 中使用 Texture Atlas

蘋果帶來的 SpriteKit 不僅僅只是增加了製作2D游戲的 API,還在 Xcode5 中集成了包括 Texture Atlas 和粒子系統等等專為 SpriteKit 服務的插件。本文將介紹如何在 SpriteKit 中使用 Texture Atlas和需要注意的一些問題,這個主題將分為兩部分來介紹,本文是第一部分。
Texture Atlas
Texture Atlas,又稱為 SpriteSheet,是游戲開發里非常常用的一種圖片技術。簡單的說,就是將多個圖片整合到一張大圖上,在使用圖片時通過從大圖上截取需要的部分來繪制正確的圖形的技術。作為游戲開發者,如果你還不知道 TextureAtlas 是什麼,或者為什麼要使用 Texture Atlas,請觀看下面的視頻。用一句話來說,就是為了加快繪制速度和節約內存使用。
製作 Texture Atlas
在了解 Texture Atlas 之後,我們來看看如何製作生成 Texture Atlas 。首先下載幾張圖片用於製作 Texture Atlas 。目前生成 Texture Atlas 有兩種方式,一種是用 Xcode 生成,另一種是用軟體 TexturePacker,下面我會分別介紹兩種方式。
Xcode
首先來說說 Xcode ,這里指的是 Xcode5 , Xcode5 之前的版本並不支持 SpriteKit 。使用 Xcode 來生成 Texture Atlas 簡單的驚人,你只用把圖片准備好,創建一個文件夾,加到工程,就這么簡單!當然,創建的文件夾有一點不同,需要以 .atlas 結尾。
我們舉個例子來邊做邊說,首先用 SpriteKit 模板創建一個工程,然後將 ViewController.m 的 viewDidLoad 修改成 viewWillLayoutSubviews,至於為什麼請查看SpriteKit中的陷阱一文。刪掉自帶的 Spaceship.png 圖片和 MyScene.m里的相關代碼,並將下載的圖片解壓到工程根目錄下,如圖所示:

解壓出來的圖片已經包括了普通尺寸和 Retina 尺寸的圖片,所以我們只需要將文件夾的名稱改為需要的形式,比如 texture.atlas 。

然後將該文件夾加入到工程里,如圖所示:

加到工程之後我們發現,跟一般文件夾不同的是, texture.atlas 的文件夾顏色不是黃色而是藍色的,這是不是說明這個文件夾有什麼不同呢?確實如此,.atlas 文件夾會自動設置成引用的方式,所以在文件夾內添加或刪除文件 Xcode 會自動識別,不需要作什麼修改。比如我們刪除 texture.atlas 里的 5.png 和 [email protected],Xcode的文件目錄里會自動修改過來,如下圖。

這一點在游戲開發中是非常實用的,因為圖片總是在不停的修改和變動,這樣你就不用每次去修改或重新生成 TextureAtlas 了。
最後我們來看看 Xcode5 關於 Texture Atlas 的設置,打開項目target的 Build Settings ,搜索框內輸入 sprite 就會顯示如圖的兩項,第一項是 Texture Atlas 生成的開關,第二項是 生成 Texture Atlas 的圖片格式,默認情況下 Xcode5 已經將Texture Atlas 生成打開(設置成 YES ),修改圖片格式可以縮小內存的使用,但同時會降低圖片質量。

我們需要手動做的就全部說完了。那 Xcode 是如何生成 Texture Atlas 的呢,生成的文件在哪裡呢?
在編譯工程時, Xcode 會將所有 .atlas 文件夾里的圖片編譯並生成 Texture Atlas 大圖和一個讀取信息的 plist 數據文件然後放在一個新的 .atlasc 的文件夾里放在程序 bundle 里。我們用模擬器來看看生成的 Texture Atlas 長什麼樣,現在編譯工程,然後在 Finder 打開這個路徑 /Users/<username>/Library/Application\ Support/iPhone\ Simulator/7.0/Applications 將 <username> 換成你自己的用戶名,文件夾里應該就有你剛剛編譯的工程,找到並打開,然後找到程序 bundle 並右鍵選擇 Show Package Contents ,如圖所示:

開打之後你就會發現 .atlasc 文件夾了,快看看裡面的 Texture Atlas 吧。

生成的 Texture Atlas 將所有的圖片貼在了一起組成一張大圖並生成了 plist 數據文件,數據文件存儲的就是所有圖片的位置信息用於截取每一張需要的圖片。而且 Xcode 自動將圖片分為了普通尺寸和 Retina 尺寸,非常智能,你只需要為 Retina 圖片加上 @2x 而已。我們還發現生成的 Texture Atlas 文件名加上了 1 ,這是不是意味著會有 2 3 4等等呢?答案是肯定的, 下面列出了 Xcode 生成 Texture Atlas 的幾個規則:

每個 Texture Atlas 的最大尺寸是 2000 x 2000 像素

如果在一個 .atlas 文件夾下放了過多的圖片使得生成的 Texture Atlas 超過最大尺寸時 Xcode 會自動生成多張圖片,於是就會有上面說到的 2 3 4等等後綴名的文件了

不同解析度的圖片會分別生成獨立的 Texture Atlas,如 Retina 圖片的 [email protected]
更神奇的是,你甚至可以將編譯生成的 .atlasc 文件夾直接加到工程來使用,而不使用原圖片。這也正是下面要講的 TexturePacker 所使用的方法。

⑽ 用spritekit開發怎麼用tableview

游戲規則是:玩家是五角星小球,小球自動沿著陀螺線向外運動,當玩家點擊屏幕時五角星小球會跳躍到內層螺旋,當五角星小球碰到紅色旋風或滾動到螺旋線終點時游戲結束。玩家吃掉綠色旋風來得2分,吃到紫色三角得一分並獲得保護罩,保護罩用來抵擋一次紅色旋風。隨著分數的增加游戲會升級,速度加快。游戲結束後可以截屏分享到社交網路,也可以選擇重玩。

以下是本文內容:
1. 准備工作
2. 繪制基本界面
3. Swift中用訪問者模式處理碰撞
4. 界面數據顯示
5. 按鈕的繪制和截圖分享

准備工作
SpriteKit是蘋果iOS7新推出的2D游戲引擎,這里不再過多介紹。我們新建工程的時候選取iOS中的Game,然後選擇SpriteKit作為游戲引擎,語言選擇Swift,Xcode6會為我們自動創建一個游戲場景GameScene,它包含GameScene.swift和GameScene.sks兩個文件,sks文件可以讓我們可視化拖拽游戲控制項到場景上,然後再代碼中載入sks文件來完成場景的初始化:

閱讀全文

與spritekit中文教程相關的資料

熱點內容
zip壓縮多個文件 瀏覽:475
網路攝像頭論壇 瀏覽:942
吸頂燈app調光是什麼意思 瀏覽:805
ipad從qq郵箱下載的文件在哪裡找到 瀏覽:462
如何修改電子郵件密碼 瀏覽:936
百度干凈雲安卓用不了 瀏覽:694
win10esd文件夾 瀏覽:335
填志願看哪些數據更可靠 瀏覽:303
老閉蔥網路是什麼意思 瀏覽:186
ps為什麼不能置入pdf文件 瀏覽:113
精密星歷的文件內容 瀏覽:815
平板電腦桌面文件怎麼恢復 瀏覽:61
給定三極體三個數據如何判斷類型 瀏覽:891
手機微信上打不開excel文件 瀏覽:815
做機械設備學什麼編程 瀏覽:243
app技術特點怎麼寫 瀏覽:813
蘋果我下載不了軟體 瀏覽:554
2015年qq好聽的群名字大全 瀏覽:218
crond文件配置路徑 瀏覽:820
英語聽力下載到MP3找不到文件 瀏覽:286

友情鏈接