cocoscreater 프 리 캐 스 트 prefab 상세 설명
프 리 캐 스 트 가 무엇 인지,글자 의 뜻 은 아직 사용 하기 전에 미리 만 든 노드 자원 을 사용 하지 않 았 다 는 것 이다.속성 은 일반 노드 와 같 아서 아직 보 여주 지 않 은 일반적인 노드 로 볼 수 있다.
예제 체 를 만 드 는 방법
1.등급 관리자 에 게 먼저 일반적인 노드 를 만 든 다음 에 이 노드 를 자원 관리자 의 assets 폴 더 에 끌 어 다 놓 으 면 관리 가 편리 하기 때문에 prefab 폴 더 를 통일 적 으로 만 들 고 예제 체 를 통일 적 으로 저장 합 니 다.
프 리 캐 스 트 노드 를 두 번 클릭 하면 파란색 을 볼 수 있 습 니 다.이때 장면 장면 에 남아 있 는 노드 를 삭제 할 수 있 습 니 다.이 노드 를 사용 해 야 할 때 프 리 캐 스 트 를 통 해 만 들 수 있 습 니 다.
이 때 속성 검사 기의 속성 을 볼 수 있 습 니 다.일반 노드 와 일치 합 니 다.
프 리 캐 스 트
1.같은 유형의 노드 를 대량 생 성
본질 적 으로 예제 체 를 사용 하여 템 플 릿 을 만 든 다음 이 예제 체 템 플 릿 을 복사 하여 대량으로 만 드 는 것 입 니 다.
첫 번 째 단계:대상 풀 에 노드 대량 생 성
@property(cc.Prefab)
prefab:cc.Prefab = null;
// ,
@property(cc.NodePool)
nodePools:cc.NodePool = null;
// , , , , ,
for(let i:number = 0; i < 100; i++){
// 100
let node:cc.Node = cc.instantiate(this.prefab);
this.nodePools.put(node);
//
}
STEP 2:사용 시 직접 꺼 내 사용 하면 된다
let node:cc.Node = null;
//
if(this.nodePools.size() > 0){
// get , nodePools get , ( nodePrefab.ts),
node = this.nodePools.get(this.nodePools);
}else{
//
node = cc.instantiate(this.prefab);
}
// ,
this.node.addChild(node);
STEP 3:사용 후 노드 반환
// nodePrefab.ts
nodePools:cc.NodePool = null;
// node = this.nodePools.get(this.nodePools); , get
/* nodePool.get() ,
nodePrefab.ts reuse , 。
cc.NodePool.get() , reuse */
// reuse
reuse(EnemyPools:cc.NodePool) {
// get
this.EnemyPools = EnemyPools;
}
//
hit () {
//
if(this.nodePools){
//
this.nodePools.put(this.node);
}else{
//
this.node.destroy();
}
}
2.특정한 타 이 밍 을 미리 만들어 야 보 여 주 는 노드큐 박스 같은 거.
//
@property(cc.Prefab)
testPrefab:cc.Prefab = null;
//
let node = cc.instantiate(this.testPrefab);
//
this.node.addChild(node);
위 에 마 운 트 를 사용 합 니 다.아래 에 동적 마 운 트 를 사용 합 니 다.@property(cc.Prefab)와 같은 마 운 트 방식 을 사용 하지 않 고 불 러 올 수 있 습 니 다.
// this, this
let m_this = this;
/* cc.loader.loadRes Prefab, assets resources ,
resources , function prefab */
[cocos ](https://docs.cocos.com/creator/manual/zh/scripting/load-assets.html?h=assets)
cc.loader.loadRes("assets/OptionBox", function (err, prefab) {
if(!prefab){
cc.log(" ");
}
var newNode = cc.instantiate(prefab);
if(!newNode){
cc.log(" ");
}
//
m_this.node.addChild(newNode);
이상 은 두 가지 일반적인 예제 체 를 사용 하 는 방안 이다.예 를 들 어 적 을 대량으로 만 들 고 총알 은 첫 번 째 로 사용 하 며 두 번 째 는 반복 적 으로 사용 하 는 장면 이 있 거나 특정한 상황 에서 촉발 하 는 알림 상자 도 예제 체 로 만 들 수 있다.이상 은 cocoscreater 프 리 캐 스 트 prefab 의 상세 한 내용 을 상세 하 게 설명 하 는 것 입 니 다.cocoscreater prefab 에 관 한 자 료 는 다른 관련 글 을 주목 하 세 요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
cocos 애니메이션 첫 번째 프레임으로 중지텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.