ios開發之oc-NSTimer計時器簡單使用

來源:互聯網
上載者:User

標籤:

在遊戲開發中,很多時候會用到一定時間內自動幹嘛的效果,比如每隔一秒自動增加一個元素。很顯然,我就用到了。object-c中的NSTimer就能實現這種效果。

1.定義NSTimer

@property(nonatomic)NSTimer *MouseTimer;//計時器

--------------------------------------------------------------------------------------------------------------

2.初始化,同時指定它幹什麼

_MouseTimer=[NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(MouseMove) userInfo:nil repeats:YES];

只要運行到這一句,他就開始周而復始的執行動作,知道我們讓它停下來,下面是參數的大概解釋:

scheduledTimerWithTimeInterval,指定每隔多久執行一次動作;

target,指定此計時器的結果反應給誰,指定目標;

selector,指定計時器每次執行的動作,這裡MouseMove是我自己寫的一個函數;

userInfo,傳輸發送的東西,發送的參數;

repeats,設定定時器是否重複調用目標方法,即MouseMove。

--------------------------------------------------------------------------------------------------------------

 3.關閉定時器

在想讓他停止時比如遊戲結束,離開遊戲介面的時候,就需要停止或關閉定時器。

停止:(ps:這就是為啥我把它定位全域變數了,因為在這個頁面的任何地方都可以操作它)

[_MouseTimer setFireDate:[NSDate distantFuture]];

繼續:

[_MouseTimer setFireDate:[NSDate date]];

關閉:(ps:invalidate只是很單純的關閉了定時器,並沒有釋放資源。所以我們要自己釋放資源。)

[_MouseTimer invalidate];//關閉計時器_MouseTimer = nil;//釋放資源

如此這般,就可以很好地控制遊戲過程中的某些效果了。

 

ios開發之oc-NSTimer計時器簡單使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.