2016-08-04 37 views
0

香草處理有shapeMode()用於修改「形狀繪製的位置」。如果可能的話,可以通過ControlP5獲得與UI控制器相同的功能嗎?ControlP5的「形狀模式」

具體而言,我曾嘗試下面的代碼:

shapeMode(CENTER); 
cp5.addButton("On/Off") 
.setPosition(width/2, height/2) 
.setSize(300, 300) 
.setColorBackground(color(0, 113, 0)); 

,得到了這樣的結果:

Screenshot

但我想看到的是這樣的:

enter image description here

很明顯,像.setPosition(width/2 - buttonWidth/2, height/2 - buttonWidth/2)可以工作,但我想保持最小的代碼。

回答

1

調用shapeMode()函數僅改變使用shape()函數繪製的形狀的模式。

ControlP5不使用shape()函數繪製按鈕。它使用rect()函數。

您可以使用rectMode()函數更改繪製矩形的方式。更多信息可以在the reference找到。

但我懷疑你會對結果感到滿意。這將移動按鈕的矩形,但不會移動按鈕的文本,因此所有文本都將偏離中心。這只是一個問題,我相信會有很多其他的。

如果我是你,我只會自己做計算。如果你真的擔心保持你的代碼最小化,那麼你可以創建自己的包裝類或實用程序函數來封裝抵消所需的「邏輯」。但是,你應該更擔心保持代碼的可讀性和可維護性。