iOS -- SKScene類

SKScene類

繼承自SKEffectNode:SKNode:UIResponder:NSObject
符合NSCoding(SKNode)
NSCopying(SKNode)
NSObject(NSObject)
框架?/System/Library/Frameworks/SpriteKit.framework
可用性可用于iOS 7.0或者更晚的版本
聲明于SKScene.h
參考指南Sprite Kit Progamming Guide

?

概覽

?

重要提示:這是一個初步的API或者開發技術文檔。雖然已經審閱了本文檔的技術準確性,但是它不是最終的版本。本機密信息僅適用于蘋果開發者計劃的注冊會員。蘋果提供這些機密信息來幫助你采用這些技術和編程接口。此信息如果有變更,根據本文檔實現的軟件應使用操作系統軟件和最終文檔測試。新版本的文檔可能會擁有新的API或者技術。

?

一個SKScene實例表示一個游戲中的場景。一個場景節點通常是節點樹中的根節點。節點樹中的其他節點負責提供游戲內容,場景節點則負責渲染和顯示。要顯示一個場景,你需要先將它present到一個SKView實例中。

一個場景通過以下的處理來計算內容

1.場景調用update:方法。

2.場景執行其子節點的動作。

3.場景調用didEvaluateActions方法。

4.場景執行加入到場景中的物理體的物理模擬。

5.場景調用didSimulatePhysics方法。

子類節點

有時會創建場景類的子類。在子類場景中,要創景子類場景的內容以及執行邏輯。

方法

初始化一個場景

?

+ sceneWithSize:

?

創建并返回一個新的場景實例。

+ (SKScene *)sceneWithSize:(CGSize)size

?

參數size:場景的大小
返回值一個新的場景實例

?

論述

這個類方法創建一個新的場景并調用它的initWithSize:方法初始化這個場景。

?

?

- initWithSize

?

初始化一個新的場景實例。

- (id)initWithSize:(CGSize)size

?

參數size:場景的大小
返回值一個新的初始化好的場景實例

?

論述

這是類方法指定的初始化方法。

轉變視圖和場景的坐標系

?

?

- convertPointFromView:

?

將視圖坐標系轉成場景坐標系。

- (CGPoint)converPointFromView:(CGPoint)point

?

參數point:視圖坐標系中的一個點
返回值這個點在場景坐標系中的位置

?

論述

在調用該方法之前,場景必須已經被加到視圖中了。

?

?

- convertPointTOView:

?

將場景坐標系轉成視圖坐標系。

- (CGPoint)converPointToView:(CGPoint)point

?

參數point:場景坐標系中的一個點
返回值這個點在視圖坐標系中的位置

?

論述

在調用該方法之前,場景必須已經被加到視圖中了。

改變場景的大小

?

?

- didChangeSize:

?

當場景大小發生改變時調用該方法。

- (void)didChangeSize:(CGSize)oldSize

?

參數oldSize:場景的原大小
返回值?

?

論述

這個方法通常會被子類重寫。

檢測場景的彈出改變。

?

?

- willMoveFromView:

?

該方法會在場景移出視圖之前調用。

- (void)willMoveFromView:(SKView *)view

?

參數view:持有該場景的視圖
返回值?

?

論述

這個方法通常會被子類重寫。

?

?

- didMoveToView:

?

該方法會在場景彈到視圖上之后調用。

- (void)didMoveToView:(SKView *)view

?

參數view:持有該場景的視圖
返回值?

?

論述

這個方法通常會被子類重寫。

執行動畫循環

?

?

- update:

?

在場景中動作執行之前需要執行的更新。

- (void)update:(NSTimeInterval)currentTime

?

參數currentTime:已經過去的時間,保證單調遞增
返回值?

?

論述

不要直接調用這個方法,當場景加入到視圖中,并且不是暫停狀態時,它每一幀會被調用一次。你的場景子類應該重寫這個方法,并執行一些需要的更新。

?

- didEvaluateActions

?

在場景中動作執行之后需要執行的更新。

- (void)didEvaluateActions

論述

不要直接調用這個方法,當場景加入到視圖中,并且不是暫停狀態時,它每一幀會被調用一次。你的場景子類應該重寫這個方法,并執行一些需要的更新。

?

- didSimulatePhysics

?

在物理模擬執行之后需要執行的更新。

- (void)didSimulatePhysics

論述

不要直接調用這個方法,當場景加入到視圖中,并且不是暫停狀態時,它每一幀會被調用一次。你的場景子類應該重寫這個方法,并執行一些需要的更新。

屬性

查看視圖相關屬性

?

anchorPoint

?

場景原點在視圖中的位置。

@property (atomic) CGPoint?anchorPoint

論述

指定場景的坐標位置。默認值為(0,0),表示場景在視圖矩形的左下角。

?

?

scaleMode

?

定義場景如何映射到視圖。

@property (atomic) SKSceneScaleMode?scaleMode

論述

場景的大小和彈它出來的視圖大小不相同是有可能的。該屬性定義了場景如何映射到視圖。詳細值參見Scene Scaling Modes部分。默認值為SKSceneScaleModeFill。

?

?

view

?

場景所在的視圖。只讀。

@property (atomic, weak, readonly) SKView *view

論述

要彈出場景,需要調用SKView類的presentScene:方法或者presentScene:transition:方法。

設置場景的背景色

?

backgroundColor

?

場景的背景色。

@property (atomic, retain) SKColor *backgroundColor

論述

默認值為一個灰色的顏色值(RGBA0.15,0.15,0.15,1.0)。

改變場景的大小

?

?

size

?

場景的大小。

@property (atomic) CGSize *size

場景中運行的物理世界

?

?

physicsWorld

?

場景中的物理世界。

@property (atomic, readonly) SKPhysicsWorld *physicsWorld

論述

所有的場景自動模擬添加物理體的節點的物理特性。通過這個屬性可以獲取場景的全局物理屬性,比如重力加速度。

常量

決定場景的彈出模式

typedef NS_ENUM(NSInteger,

SKSceneScaleMode){

SKSceneScaleModeFill,

SKSceneScaleModeAspectFill,

SKSceneScaleModeAspectFit,

SKSceneScaleModeResizeFill

}

?

?

SKSceneScaleModeFill場景的每個軸獨立縮放,場景完全映射到視圖中
SKSceneScaleModeAspectFill場景中每個軸使用相同的縮放因子,保證視圖被完全填充,場景可能被剪裁
SKSceneScaleModeAspectFit場景中每個軸使用相同的縮放因子,保證整個場景可見
SKSceneScaleModeResizeFill場景不縮放,場景自動調整大小以適應視圖

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/257439.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257439.shtml
英文地址,請注明出處:http://en.pswp.cn/news/257439.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SSD硬盤 全盤安全擦除

此文From http://ssd.zol.com.cn/575/5753057.html 在SSD固態硬盤的使用過程中,部分用戶可能會碰到計算機意外掉電或死機并強行斷電后,系統出現異常,掃描SSD后發現壞塊,然后一著急一跺腳甚至想返廠維修。 其實掉電后固態硬盤出現壞…

php中等3秒再跳轉,跳轉和重定向

頁面跳轉在應用開發中,經常會遇到一些帶有提示信息的跳轉頁面,例如操作成功或者操作錯誤頁面,并且自動跳轉到另外一個目標頁面。系統的ThinkController類內置了兩個跳轉方法success和error,用于頁面跳轉提示,而且可以支…

2017敏捷沙灘大會:完美軟件,測量持續交付,以及探索未來

在英國康沃爾郡舉行的2017敏捷沙灘大會上,數百名演講者和參與者共聚一堂,探討敏捷和后敏捷領域軟件開發方法有哪些最新進展。本次大會最后一個下午的要點包括:交付團隊可以通過擁抱精益、迭代和持續的部署方法更快速地實現業務價值&#xff1…

做fzu oj 1045 做減法學到的sprintf()函數

題目 做題一直輸不出答案,于是就上網去百度了這題的解題,發現解答十分的簡短,而且其中我看見了平時沒見過的函數,sprintf()。 于是就百度sprintf()的使用。 如下: 函數功能:把格式化的數據寫入某個字符串 函…

動態內存分配及變量存儲類別(第二部分)

5. C語言變量的存儲類別和生存期 我們知道,變量是有數據類型的,用以說明它占用多大的內存空間,可以進行什么樣的操作。除了數據類型,變量還有一個屬性,稱為“存儲類別”。存儲類別就是數據在內存中的存放區域。一個正在…

oracle的em能干什么,轉載?解決Oracle的EM登錄

轉載 解決Oracle的EM登錄(2011-03-13 20:53:39)標簽:雜談這幾天解決了EM無法登錄的問題,順便也把j數據庫程序中常出現的ORA_12518錯誤解決了,有必要總結一下,我最初遇到的情況是這樣的:1. 編寫java程序訪問oracle數據庫…

python 回溯法 子集樹模板 系列 —— 1、8 皇后問題

問題 88格的國際象棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處于同一行、同一列或同一斜線上,問有多少種擺法。 分析 為了簡化問題,考慮到8個皇后不同行,則每一行放置一個皇后,每一行的皇后…

Core Java Volume I — 3.6. Strings

3.6. StringsConceptually, Java strings are sequences of Unicode characters(Java的字符串是一個Unicode序列). For example, the string "Java\u2122" consists of the five Unicode characters J, a, v, a, and ?. Java does not have a…

Android實用代碼七段(五)

前言 每次分享意味著每次都有進步,本系列以實用為主,歡迎和我分享和推薦好用的代碼段~~聲明歡迎轉載,但請保留文章原始出處:) 博客園:http://www.cnblogs.com農民伯伯: http://over140.cnblogs.com 正文 1、展開、收起…

oracle 自增1,oracle自增無法從1開始

問題描述我想讓XH字段從1開始增加,由于是varchar類型的,所以就用這種方式,但我發現我的數據表中XH字段是從217開始增加的,為什么啊問題出現的環境背景及自己嘗試過哪些方法相關代碼// 請把代碼文本粘貼到下方(請勿用圖片代替代碼)declarej number;i number;begini:1;j:1;for i …

ceph Luminous版手動安裝零散記錄

1.安裝必要的依賴包,關防火墻,向/etc/hosts內添加域名等 2.安裝ceph 配置yum源 (如果嫌慢,可以配置cachedir/home/yum/$basearch/$releasever和keepcache1兩個參數,在第一次安裝時將安裝包下載到本地做成yum源,給后面的…

C#最簡單最完整的webservice實例

我做java,但最近接觸crm所以必須研究一下C#中的webservice以備后用,其實就是個新手,哈哈,這個實例是我在參考了網上諸多不完整的例子的情況下,自己摸索完成的。期間遇到過一系列的棘手的問題,經過個人努力終…

2015 UESTC 數據結構專題G題 秋實大哥去打工 單調棧

秋實大哥去打工 Time Limit: 1 Sec Memory Limit: 256 MB 題目連接 http://acm.uestc.edu.cn/#/contest/show/59Description 天行健,君子以自強不息。地勢坤,君子以厚德載物。天天過節的秋實大哥又要過節了,于是他要給心愛的妹子買禮物。但由…

oracle怎么通過sid確定表名,如何獲取Oracle的SID列表

更好的方法是,如果您有權訪問主機并且Oracle安裝使用以下命令:lsnrctl status。這適用于Unix,Linux和Windows機器。 status命令將顯示所有監聽器(及其相關的SID)。C:\>lsnrctl statusLSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Pr…

51 Nod 1007 正整數分組【類01背包】

1007 正整數分組 基準時間限制:1 秒 空間限制:131072 KB 分值: 10難度:2級算法題將一堆正整數分為2組,要求2組的和相差最小。例如:1 2 3 4 5,將1 2 4分為1組,3 5分為1組,兩組和相差1…

YTU 2924: 文件操作--二進制文件讀入

2924: 文件操作--二進制文件讀入 時間限制: 1 Sec 內存限制: 128 MB提交: 58 解決: 20題目描述 現有100名學生的姓名(name)、學號(num)、英語(English)、數學(Math)、語文(Chinese)成績存儲在一個二進制文件student.dic中(姓名用char[20],學號和各科成績用int存儲…

oracle 9.2.0.4,CentOS 4.7 安裝Oracle 9.2.0.4的一些問題

#vi/etc/sysconfig/iptables,增加如下-A INPUT -p udp -s 0/0 -d 0/0 --dport 177 -j ACCEPT-A INPUT -p tcp -s 0/0 -d 0/0 --dport telnet -j ACCEPT-A INPUT -p tcp -s 0/0 -d 0/0 --dport ssh -j ACCEPT-A INPUT -p tcp -s 0/0 -d 0/0 --dport login -j ACCEPT-…

《機電傳動控制》----學習筆記六

《機電傳動控制》與其他學科的聯系 1、《液壓傳動與氣壓傳動》中提到的液壓控制閥中的電液伺服閥與《機電傳動控制》中的控制電動機里的伺服電機有著密切的聯系,都要求我們對伺服系統有著很好的理解。 2、《電路理論》中電機作為獨立的一章,講到了用向量…

Oracle Imp and Exp (導入和導出) 數據 工具使用

Oracle 提供兩個工具imp.exe 和exp.exe分別用于導入和導出數據。這兩個工具位于Oracle_home/bin目錄下。 導入數據exp 1 將數據庫ATSTestDB完全導出,用戶名system 密碼123456 導出到c:\export.dmp中 exp system/123456ATSTestDB filec:\export.dmp fully 其中ATSTestDB為數據庫…

[Oracle][Corruption]究竟哪些檢查影響到 V$DATABASE_BLOCK_CORRUPTION

根據 471716.1,11g 之后,下列動作如果遇到壞塊,都會輸出記錄到 V$DATABASE_BLOCK_CORRUPTION。- Analyze table .. Validate structure- CTAS(Create table as Select)- Export另外,這些也會記錄的:RMAN > Vali…