關(guān)于錨點(diǎn)的用處,Godot的官方文檔是如此敘述的。
如果一個游戲總是用同一分辨率在同樣的設(shè)備上運(yùn)行, 擺放控件將是一個簡單的事, 只要逐個設(shè)置它們的位置屬性和大小屬性即可. 不幸的是, 能像這樣處理的情況很少.
在游戲開發(fā)中,處理不同分辨率和縱橫比的屏幕可以是一項(xiàng)挑戰(zhàn)。但幸運(yùn)的是,Godot引擎提供了一種強(qiáng)大的工具來解決這個問題 - 錨點(diǎn)和邊距。
錨點(diǎn)的概念
想象一下,你的游戲需要在各種設(shè)備上運(yùn)行,從電視到手機(jī),每個設(shè)備都有不同的分辨率。這時,將控件逐個設(shè)置位置和大小屬性將變得非常繁瑣。這就是錨點(diǎn)的用武之地。
每個控件都有四個邊距:左、右、上和下。默認(rèn)情況下,它們表示相對于父控件的左上角或視口的像素距離。但是,通過調(diào)整水平和/或垂直錨點(diǎn),你可以改變這些邊距的行為。
在沒有縮放的情況下,錨點(diǎn)的位置一般是[0,1],表示在父控件中0%-100%的位置。(當(dāng)然,你也可以設(shè)置成2來達(dá)到200%的效果)
簡單來說,錨點(diǎn)就是快速將控件定位到屏幕相對位置(0%~100%)的工具。
控件的位置隨屏幕變化
當(dāng)你將水平(左,右)和/或垂直(上,下)錨點(diǎn)設(shè)置為1時,邊距值會相對于父控件或視口的右下角。這意味著,當(dāng)屏幕分辨率改變時,控件會相應(yīng)地調(diào)整位置。
例如,你可以將一個按鈕設(shè)置為底部錨點(diǎn),這樣它將始終保持在屏幕底部,即使屏幕大小變化。
控件居中對齊
要將控件居中對齊到其父控件中,只需將錨點(diǎn)的值設(shè)置為0.5,并且將邊距設(shè)置為相關(guān)尺寸的一半。
以下是一個示例代碼,將一個紋理矩形居中到其父節(jié)點(diǎn):
var rect = TextureRect.new()
rect.texture = load("res://icon.png")
rect.anchor_left = 0.5
rect.anchor_right = 0.5
rect.anchor_top = 0.5
rect.anchor_bottom = 0.5
var texture_size = rect.texture.get_size()
rect.margin_left = -texture_size.x / 2
rect.margin_right = -texture_size.x / 2
rect.margin_top = -texture_size.y / 2
rect.margin_bottom = -texture_size.y / 2
add_child(rect)
通過將每個錨定值設(shè)置為0.5,我們將邊緣的參考點(diǎn)移動到父錨點(diǎn)的中心。然后,通過設(shè)置負(fù)邊距,我們確??丶@得其自然大小并保持居中對齊。文章來源:http://www.zghlxwxcb.cn/news/detail-691436.html
快速設(shè)置錨點(diǎn)
使用編輯器右上角的按鈕可以快速設(shè)置錨點(diǎn)文章來源地址http://www.zghlxwxcb.cn/news/detail-691436.html
到了這里,關(guān)于Godot中的錨點(diǎn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!