自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

移動(dòng)開發(fā)框架Monkey語法簡介

移動(dòng)開發(fā)
Monkey使用Bliz Basic語言開發(fā)應(yīng)用,然后編譯生成目標(biāo)平臺(tái)的Project,再將這個(gè)Project按照正常開發(fā)流程編譯生成App。這個(gè)流程與Corona基本相似,不過編譯的過程是在本地進(jìn)行的,所以可以在目標(biāo)Project生成之后再進(jìn)行修改,這樣一些在特定平臺(tái)上的功能可以分別進(jìn)行添加和修改。

前一篇文章中簡單介紹了一些我曾經(jīng)評(píng)估過的一些跨平臺(tái)開發(fā)框架,其中提到過Monkey,不過這個(gè)框架目前還太過簡陋,如果要用它來做一個(gè)商業(yè)的App還有太多的工作要做,所以目前階段不會(huì)再花太多精力在上面,但是之前評(píng)估的時(shí)候也仔細(xì)閱讀了它的教程,并跟著寫過幾個(gè)Sample,所以對(duì)它也還有一些知識(shí)的整理。

Monkey( http://www.monkeycoder.co.nz)是一個(gè)與Corona類似的框架,但是比Corona要稍好一些,如果單從開發(fā)者角度來看的話。

Monkey使用Bliz Basic語言開發(fā)應(yīng)用,然后編譯生成目標(biāo)平臺(tái)的Project,再將這個(gè)Project按照正常開發(fā)流程編譯生成App。這個(gè)流程與Corona基本相 似,不過編譯的過程是在本地進(jìn)行的,所以可以在目標(biāo)Project生成之后再進(jìn)行修改,這樣一些在特定平臺(tái)上的功能可以分別進(jìn)行添加和修改。

另外Monkey的授權(quán)費(fèi)比Corona要低得多,只需要一次付費(fèi),授權(quán)費(fèi)也只需要120美元。

Monkey的問題在于它還處在開發(fā)的初期階段,目前發(fā)布的版本只實(shí)現(xiàn)了最基礎(chǔ)的功能,對(duì)于游戲開發(fā)來說,你還需要自己添加物理支持,粒子系統(tǒng),如果你想要加入網(wǎng)絡(luò)功能的話也得自己去做。當(dāng)然社區(qū)里有熱心用戶公開了他們的一部分代碼。

先來看一個(gè)Monkey App的最基礎(chǔ)框架

  1. Import mojo 
  2.  
  3. Class MyApp Extends App 
  4.  
  5. Method OnCreate() 
  6.  
  7. End 
  8.  
  9. Method OnUpdate() 
  10.  
  11. End 
  12.  
  13. Method OnRender() 
  14.  
  15. End 
  16.  
  17. End 
  18.  
  19. Function Main() 
  20.  
  21. New MyApp 
  22.  
  23. End 

雖然作者反復(fù)強(qiáng)調(diào)你不需要是一個(gè)程序員,你不需要懂?dāng)?shù)學(xué),你不需要會(huì)寫代碼,甚至You don’t need any special skills。BUT,如果你不懂程序,上面這12行英文我還是很難跟你解釋清楚,SO,如果你懂了,就繼續(xù),Else,Return!J

開個(gè)玩笑。

Monkey語言還是比較簡單的,類Basic語法,寫起來就跟自然語言一樣,你甚至可以把上面的代碼當(dāng)作一段英文來讀。是的,Read It!

下面是一些語法知識(shí),如果你看懂了上面那12行代碼,下面的你也很好理解。

變量

與其他語言類似的語法規(guī)范,字母數(shù)字與下劃線的組合,不能以數(shù)字打頭。

內(nèi)置變量類型有Int,F(xiàn)loat,String,分別代表什么你也懂的。

變量的聲明使用Local關(guān)鍵字,當(dāng)然有時(shí)候使用的是Field關(guān)鍵字。

數(shù)學(xué)運(yùn)算

+、-、*、/是最基本的,^是指數(shù)去處,比如3 ^ 2 = 9

條件運(yùn)算

  1. If … Then … 
  2.  
  3. If … Then … Else … 

上面的條件語句必須寫在一條上,如果要換行,則是

  1. If … 
  2.  
  3. … 
  4.  
  5. Else 
  6.  
  7. … 
  8.  
  9. EndIf 

邏輯運(yùn)算

=、<、>、<>、<=、>=

大部分你應(yīng)該都見過,只需要注意一下,相等只有一個(gè)=,不等是<>,也許你在某種語言里也見過這樣用的。

循環(huán)語句:

Repeat … Forever是永遠(yuǎn)循環(huán)

一般會(huì)這樣用

Repeat

If … Then Exit

Forever

還有

Repeat

Until …

以及

While …

Wend

這些分別代表什么意思你也懂的

函數(shù)

Function Name() … End

Function Name(param:String) … End

函數(shù)的默認(rèn)參數(shù):Function Name(ammo:Int = 10) … End

與其他語言類似,默認(rèn)參數(shù)也只能出現(xiàn)在參數(shù)列表的最后面

同樣的,函數(shù)也能有返回值。你知道什么是返回值。

類和對(duì)象

還記得寫在最開始的那12行代碼嗎?那里就定義了一個(gè)類,然后創(chuàng)建了一個(gè)對(duì)象

注意類中定義的變量使用Field關(guān)鍵字,不是Local

在我嘗試著寫代碼時(shí)遇到過的兩個(gè)問題,這里再重點(diǎn)提出來一下,我曾在這上面花了點(diǎn)時(shí)間來查找原因:

全局函數(shù)用關(guān)鍵字Function,Class的函數(shù)叫Method。如果把Class的函數(shù)也用Function定義,Monkey并不會(huì)報(bào)錯(cuò),但這些Function都不會(huì)被回調(diào)。

函數(shù)中的變量聲明用Local,Class中的變量聲明用Field。

另外,如果函數(shù)沒有返回值,那么函數(shù)名后的冒號(hào)加返回值類型可以省略,就像我上面舉的例子那樣。

責(zé)任編輯:佚名 來源: all-ipad.net
相關(guān)推薦

2011-07-06 11:16:32

Unity3DCocos2dSparrow Fra

2011-07-07 13:19:38

Web

2009-07-03 14:52:32

JSP開發(fā)框架FastJSP

2011-07-19 13:26:50

iPhone PhoneGap 框架

2020-09-04 15:29:54

APP開發(fā)框架

2010-10-09 15:01:27

PhoneGapiPhoneAndroid

2012-03-16 13:43:29

2010-09-17 10:16:26

Java Applet

2024-12-06 15:07:42

Python開發(fā)

2011-03-09 10:21:35

2022-04-13 08:00:00

Hilla開發(fā)Java

2014-07-08 09:37:28

跨平臺(tái)Webhtml5

2014-07-10 10:02:01

iOSHome Kit框架

2011-03-15 09:47:11

Java移動(dòng)開發(fā)框架Oracle

2014-12-17 10:12:06

HybridAppFramewor頁面布局

2010-11-18 13:09:19

Oracle case

2012-02-09 16:45:41

2014-03-28 15:36:43

移動(dòng)WebJavaScript開發(fā)框架

2012-07-23 08:30:51

Java快速開發(fā)

2014-09-18 09:27:32

AndroidTransition框
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)