邏輯表達式是木疙瘩使用過程中的一個難點,在某些場景下,邏輯表達式能很好地幫我們完成條件的判斷,比如驗證輸入框不為空,檢測文本的值為預期的值,取得某個文本的值填到另一個文本中等。
做小遊戲時,邏輯表達式更是必備的,合理利用邏輯表達式可以讓我們在物體不同狀態下執行不同的行為,今天要講的碰撞檢測就是特別常用的一個邏輯表達式。學會它,可以很輕鬆地完成小車碰撞,接水果,垃圾分類等等小遊戲。
碰撞檢測就是檢測兩個物體邊緣是不是有重疊,此例以兩個矩形為例。
假設舞臺上有兩個物體,分別取名為aa和bb,以下四種情況同時滿足時,就可以判斷兩個物體有碰撞(有重疊)。
1. aa左值 加 aa的寬 大於 bb的左值
{{aa.left}}+{{aa.width}}>{{bb.left}}
2. bb左值 加 bb的寬 大於 aa的左值
{{bb.left}}+{{bb.width}}>{{aa.left}}
3. aa的上值 加 aa的高 大於 bb的上值
{{aa.top}}+{{aa.height}}>{{bb.top}}
4. bb的上值 加 bb的高 大於 aa 的上值
{{bb.top}}+{{bb.height}} > {{aa.top}}
條件同時滿足需要使用&&符號,綜合四個條件同時成立就是
{{aa.left}}+{{aa.width}}>{{bb.left}} && {{bb.left}}+{{bb.width}}>{{aa.left}} && {{aa.top}}+{{aa.height}}>{{bb.top}} && {{bb.top}}+{{bb.height}} > {{aa.top}}
具體到作品裡的行為設置,可以參考下邊的截圖