表達式

Lakeshore 表達式

什麼是表達式?javascript

表達式,是由數字、算符、數字分組符號(括號)、自由變量和約束變量等以能求得數值的有意義排列方法所得的組合。約束變量在表達式中已被指定數值,而自由變量則能夠在表達式以外另行指定數值。表達式的運用能夠最大限度的加強邏輯的運算,經常使用的表達式分爲算術表達式與邏輯表達式。java

  • 算術表達式

算術表達式是最經常使用的表達式,又稱爲數值表達式。它是經過算術運算符來進行運算的數學公式,經常使用的算術運算包括如下表格內容:微信

運算符
描述函數

+
加法字體

-
減法動畫

*
乘法網站

/
除法3d

%
求餘數 (保留整數)code

++
累加htm


遞減

在lakeshore裏,支持上述表達式,例如,讓對象mc以1像素/幀的速度水平向右移動,可做如下設置:

也能夠寫成mc.x+1,完整的意思是:mc.x=mc.x+1;即每幀對mc的水平座標加1像素。這樣mc就造成動畫朝右運動。細心的讀者會注意到這裏用到了.x這表示mc的水平座標屬性,對於精靈來說,提供了很是多的屬性

精靈提供的公開屬性列表以下:

屬性
描述
引用形式
示例(設定mc2爲另1個對象)

x
水平座標
mc.x
mc.x+1(完整形式:mc.x=mc.x+1)

y
垂直座標
mc.y
mc.y-1(完整形式:mc.y=mc.y+1)

width

mc.width
mc2.width2(完整形式:mc.y=mc2.wdith2)

height

mc.height
mc2.height0.5(完整形式:mc.height=mc2.height0.5)

angle
角度(0~360)之間
mc.angle
mc.angle+=1(完整形式:mc.angle=mc.angle+1)

alpha
透明度(0~1)之間
mc.alpha
mc.alpha-1(完整形式:mc.alpha=mc.alpha-1)

visible
是否隱藏(true/false)
mc.visible
mc2.visible(完整形式:mc.visible=mc2.visible)

scale
縮放比例
mc.scale
mc.scale=1.1(完整形式:mc.scale=mc.scale1.1)

scaleX
水平縮放比例
mc.scaleX
mc.scaleX=1.1(完整形式:mc.scaleX=mc.scaleX1.1)

scaleY
垂直縮放比例
mc.scaleY
mc.scaleY=1.1(完整形式:mc.scaleY=mc.scaleY1.1)

anchorX
水平錨點
mc.anchorX
mc.anchorX

anchorY
垂直錨點
mc.anchorY
mc.anchorY

name
實例名稱
mc.name
mc.name

dt
下一幀與上一幀的時間差(單位:毫秒)
mc.dt
mc.dt

按紐組件提供的公開屬性列表以下(假如按紐組件名稱爲btn):

屬性
描述
引用形式
示例(設定mc2爲另1個對象)

x
水平座標
btn.x
btn.x+1(完整形式:btn.x=btn.x+1)

y
垂直座標
btn.y
btn.y-1(完整形式:btn.y=btn.y+1)

width

btn.width
mc2.width2(完整形式:btn.y=mc2.wdith2)

height

btn.height
mc2.height0.5(完整形式:btn.height=mc2.height0.5)

angle
角度(0~360)之間
btn.angle
btn.angle+=1(完整形式:btn.angle=btn.angle+1)

alpha
透明度(0~1)之間
btn.alpha
btn.alpha-1(完整形式:btn.alpha=btn.alpha-1)

visible
是否隱藏(true/false)
btn.visible
mc2.visible(完整形式:btn.visible=mc2.visible)

scale
縮放比例
btn.scale
btn.scale=1.1(完整形式:btn.scale=btn.scale1.1)

scaleX
水平縮放比例
btn.scaleX
btn.scaleX=1.1(完整形式:btn.scaleX=btn.scaleX1.1)

scaleY
垂直縮放比例
btn.scaleY
btn.scaleY=1.1(完整形式:btn.scaleY=btn.scaleY1.1)

anchorX
水平錨點
btn.anchorX
btn.anchorX

anchorY
垂直錨點
btn.anchorY
btn.anchorY

name
實例名稱
btn.name
btn.name

dt
下一幀與上一幀的時間差(單位:毫秒)
btn.dt
btn.dt

enabled
按紐是否可用
btn.enabled
btn.enabled

touchX
點擊按紐時相對於按紐的水平座標
btn.touchX
btn.touchX

touchY
點擊按紐時相對於按紐的垂直座標
btn.touchY
btn.touchY

touchStageX
點擊按紐時相對於舞臺的水平座標
btn.touchStageX
btn.touchStageX

touchStageY
點擊按紐時相對於舞臺的垂直座標
btn.touchStageY
btn.touchStageY

touchPointID
點擊按紐時分配給按紐的惟一標識符
btn.touchPointID
btn.touchPointID

text
按紐的文本內容
btn.text
btn.text

文本組件提供的公開屬性列表以下(假如文本組件名稱爲tf):

屬性
描述
引用形式
示例(設定mc2爲另1個對象)

x
水平座標
tf.x
tf.x+1(完整形式:tf.x=tf.x+1)

y
垂直座標
tf.y
tf.y-1(完整形式:tf.y=tf.y+1)

width

tf.width
mc2.width2(完整形式:tf.y=mc2.wdith2)

height

tf.height
mc2.height0.5(完整形式:tf.height=mc2.height0.5)

angle
角度(0~360)之間
tf.angle
tf.angle+=1(完整形式:tf.angle=tf.angle+1)

alpha
透明度(0~1)之間
tf.alpha
tf.alpha-1(完整形式:tf.alpha=tf.alpha-1)

visible
是否隱藏
(true/false)
tf.visible mc2.visible(完整形式:tf.visible=mc2.visible)

scale
縮放比例
tf.scale
tf.scale=1.1(完整形式:tf.scale=tf.scale1.1)

scaleX
水平縮放比例
tf.scaleX
tf.scaleX=1.1(完整形式:tf.scaleX=tf.scaleX1.1)

scaleY
垂直縮放比例
tf.scaleY
tf.scaleY=1.1(完整形式:tf.scaleY=tf.scaleY1.1)

anchorX
水平錨點
tf.anchorX
tf.anchorX

anchorY
垂直錨點
tf.anchorY
tf.anchorY

name
實例名稱
btn.name
tf.name

dt
下一幀與上一幀的時間差(單位:毫秒)
tf.dt
tf.dt

textField
文本組件文本渲染類的引用
tf.textField
通常狀況下不引用這個,而是基於這個來引用文本各類屬性

type
顯示文本是動態類型的仍是可輸入的類型
tf.textField.type
btn.touchX

text
顯示文本的文本內容
tf.textField.text
btn.touchY

bold
顯示文本是不是粗體形式
tf.textField.bold
btn.touchStageX

fontFamily
顯示文本的字體
tf.textField.fontFamily
btn.touchStageY

textColor
顯示文本的顏色
tf.textField.textColor
btn.touchPointID

size
顯示文本的大小
tf.textField.size
btn.text

textAlign
顯示文本的水平對齊方式
tf.textField.textAlign
tf.textField.textAlign

verticalAlign
顯示文本的垂直對齊方式
tf.textField.verticalAlign
tf.textField.verticalAlign

italic
顯示文本是否爲斜體
tf.textField.italic
tf.textField.italic

border
顯示文本是否有邊框
tf.textField.border
tf.textField.border

borderColor
顯示文本的邊框顏色
tf.textField.borderColor
tf.textField.borderColor

background
顯示文本是否有背景
tf.textField.background
tf.textField.background

backgourndColor
顯示文本的背景顏色
tf.textField.backgourndColor
tf.textField.backgourndColor

maxChars
顯示文本最大輸入多少個字符
tf.textField.maxChars
tf.textField.maxChars

displayAsPassword
顯示文本是否顯示爲密碼形式
tf.textField.displayAsPassword
tf.textField.displayAsPassword

上面所講的都是一種簡單的表達式,有時候,咱們可能須要加入一些字符,好比爲了顯示mc的動態座標信息,咱們經過如下方向來定義:

最終顯示結果爲:

對於上述表達式,既包含非動態信息,也包含動態信息,爲了正確的顯示,咱們須要將非動態信息用單引號來引發來,好比:’當前mc的座標信息爲:(‘爲非動態信息,而動態信息,可直接引用,例如mc.x,也能夠用eval(mc.x)來引用,中間用+做爲連接符。有更復雜的表達式,例如,微信分享的表達式以下:

 
 
 
 
 
'我總共消滅了'+eval(gameover.tank1+gameover.tank2+gameover.tank3+gameover.tank4)+'個坦克,'+'擊敗了全球'+eval(((gameover.tank1+gameover.tank2+gameover.tank3+gameover.tank4)/91*100).toFixed(1))+'%的玩家,不服來戰!!'

細心的讀者可能發現上面還有個toFixed函數,其實這自己是JS的內置的取指定小數點位數的數字,這裏表示對(gameover.tank1+gameover.tank2+gameover.tank3+gameover.tank4)/91*100的結果取1位小數點的數字。爲了更靈活的運用表達式來知足遊戲的需求,這裏還支持javascript提供的經常使用函數API,好比數學類函數,具體可參考W3CSchool網站提供的教程:http://www.w3school.com.cn/jsref/jsref_obj_math.asp

還好比獲取當前網站的地址:

預覽效果爲:

還有更多javascript語法的支持,請參考Javascript語法,這裏再也不贅述。

相關文章
相關標籤/搜索