마지막으로 공식 튜토리얼을 읽고, 코코스 창조주와 첫 경기를 시작했다 - "바이러스를 제거 - 중력 판"(PS를 : 그래서 밖으로 튜토리얼을 완료 한 후에 수행됩니다, 그래서 계속 지켜봐 주시기 바랍니다 ┗ (▔, ▔) ┛! )하지만, 첫 번째 단계는 구덩이에 달렸다, 나는 바이러스 예비 노드를 추가하여 역동적 인, 그리고 혈액의 바이러스를 수정하고 싶어했지만, 어떤 방법으로 긴 원래의 데이터를, 노드를 추가 한 후 노드의 속성을 수정 확인하지 되는 자식 노드의 구성 요소를 인수하지 , 자기가 그것의 단점 인 두 시간 낭비, 좋은 선생님은 정말 너무 중요한 존재입니다! 모두가 우회하도록하기 위해, 동적으로 자식 노드를 추가하고 자식 속성을 수정하는 방법을 가르쳐 오늘 데모를 작성합니다.
1. 먼저 장면에서 스프라이트 노드를 추가, 해당 텍스처 추가 :
2. 탐색기 디렉토리에 두 개의 JS 파일을 추가합니다 :
3. 다음과 같이 star.js 먼저 혈액 성급 호텔을 추가, 파일 스크립트를 편집 :
/**
* star.js
*/
cc.Class({
extends: cc.Component,
properties: {
blood:10 // 血量属性
},
// LIFE-CYCLE CALLBACKS:
// onLoad () {},
start () {
},
// update (dt) {},
});
4. 편집 star.js 좋은 스크립트는 스타 노드를 마운트합니다 :
좋은 스크립트 노드 스타 드래그 탐색기 조립식 디렉토리 5. 마운트 구성 요소는 계층 구조 관리자의 스타 노드 후 삭제 될 수 있습니다 :
6. 다음 편집 game.js 스크립트가 먼저 동적 자식 노드를 추가하고 자식 속성을 설정할 수 있으며,이 건물에서 예비 속성을 추가 (PS : 수정 자식 속성이 getComponent 통과하는 것을 잊지 마세요 때 () 스크립트 구성 요소의 자식 노드) :
/**
* game.js
*/
cc.Class({
extends: cc.Component,
properties: {
StarPrefab: {
default: null,
type: cc.Prefab
}
},
// LIFE-CYCLE CALLBACKS:
// onLoad () {},
start() {
//动态生成新的子节点并设置位置
var star_1 = cc.instantiate(this.StarPrefab);
this.node.addChild(star_1);
star_1.setPosition(100,100);
//获取新生成的子节点的属性并修改
console.log("blood:"+star_1.getComponent('star').blood);
star_1.getComponent('star').blood = 100;
console.log("blood:"+star_1.getComponent('star').blood);
},
// update (dt) {},
});
7. 다음으로, 편집 된 스크립트 후 캔버스에 game.js 노드를 탑재, 드래그 속성의 위치는 예비 스타에 해당 :
성공적으로 동적 스타 노드에 추가되었습니다 볼 수있는 미리보기, 100에서 혈액 특성에 수정 된 스타 노드 (10) 이후 8 :
결론 :
자율 학습의 길은 나는 그들의 꿈 게임을 실현하기 위해, 적절한 학습 방법을 찾기 위해 가능한 한 빨리하고 싶은, 고난으로 가득해야합니다!
나는 사람들이 긍정적 인 피드백 매일을 만들기 위해 결정 "슈퍼을 '이다!