quick-cocos2d-x 구덩이 밟기 일기
1641 단어 cocos2dxQuickshortcodes
local label = cc.ui.UILabel.new({
UILabelType = 1,
text = "Max Score 10",
font = "fonts/font-issue1343.fnt",
x = boardSize.width / 2,
y = boardSize.height * 0.4,
}):addTo(self.overboard)
:setAnchorPoint(0.5, 0.5)
내가 label:setString()을 호출했을 때 변화가 없었다. 출력 정보를 보니 label이nil이다!!!나는 이상하게 왔다. 나중에 원본 샘플을 찾아가서 내가 잘못 썼는지 확인해 보았다.코드는 다음과 같습니다.
local label = cc.ui.UILabel.new({
text = "",
size = 14,
color = display.COLOR_BLACK
}):align(display.LEFT_CENTER, display.left + 60, display.top - 60)
:addTo(self)
이 코드의 label은nil이 아니라 모두cc를 사용합니다.ui.UILabel.new가 만들어진 게 왜 달라요?원래 문제는 뒤의 함수 호출에서 나왔다.원본 보기:
function Node:addTo(target, zorder, tag)
target:addChild(self, zorder or self:getLocalZOrder(), tag or self:getTag())
return self
end
function Node:align(anchorPoint, x, y)
self:setAnchorPoint(display.ANCHOR_POINTS[anchorPoint])
if x and y then self:setPosition(x, y) end
return self
end
ddTo와align은 호출 대상을 되돌려줍니다. setAnchorPoint는 되돌려주지 않습니다. 첫 번째 코드에서 setAnchorPoint () 를 실행한 후 label에 값을 부여하지 않았기 때문에nil입니다.두 번째 코드에서 호출된 함수는 호출 대상을 되돌려주기 때문에 label에 값을 부여했습니다.
addTo는 shortcodes 파일에 있고 align은 NodeEx 파일에 있습니다.shortcodes의 함수는 호출 대상 자체를 되돌려줍니다.
이번 구덩이를 밟아서 저는 addTo와addChild의 차이점을 알게 되었고 shortcodes 사용 기교도 배웠습니다.예를 들어 대상을 만들 때 나중에 변경할 필요가 없을 때 shortcodes에 봉인된 함수를 사용하면 이름을 짓는 과정을 줄일 수 있다.(여러분도 같은 파일에 코드가 많아서 이름 짓기 어려운 경우를 보셨죠- -!)
구덩이 밟기 끝!부족한 점이 있으면 함께 교류하고 성장하자!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
xcode를 통해cocos2dx 응용 프로그램 가져오기version Xcode cocos2dx osx xcode와cocos2dx 설치 완료를 전제로 코코스 명령으로 응용 프로그램의 모형을 만들다. 나는 Jet이라는 이름의 앱을 사용했다. 동작을 확인하다. 만들어서 He...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.