怎么做網(wǎng)站背景圖片seo網(wǎng)站優(yōu)化工具
敵機產(chǎn)生&玩家發(fā)射子彈
敵機產(chǎn)生:
創(chuàng)建一個空節(jié)點
創(chuàng)建一個敵機預制體
把敵機圖片拖入預制體內
使用代碼生成敵機
讓敵機動起來
- 創(chuàng)建一個預制體enemy_prefab
- 雙擊預制體enemy_prefab,然后拖入一個敵機圖片,設置好方向和尺寸,一定要記得保存然后關閉(場景編輯器里面的保存)
- 創(chuàng)建一個空節(jié)點enemy_node
- 創(chuàng)建一個腳本root.ts和root_node綁定
- root.ts添加 兩行代碼,保存
` @property(Node) enemy_node: Node; @property(Prefab) enemy_prefab: Prefab; `
6. 選中root_node節(jié)點 綁定節(jié)點和預制體, 保存
7. root.ts代碼
import { _decorator, Component, instantiate, Node, Prefab } from 'cc';
const { ccclass, property } = _decorator;@ccclass('root')
export class root extends Component {@property(Node) enemy_node: Node; // 添加屬性 以便在代碼中引用 敵人節(jié)點@property(Prefab) enemy_prefab: Prefab; // 添加屬性 以便在代碼中 動態(tài)生成 敵人start() {this.createEnemies(); //使用定時器生成敵機}update(deltaTime: number) {}createEnemies() {this.schedule(() => {this.createOneEnemy();}, 1);}// 創(chuàng)建一個敵機createOneEnemy() {// console.log("createOneGold !");const enemyPrefab = instantiate(this.enemy_prefab); // 實例化一個對象 (動態(tài)生成)this.enemy_node.addChild(enemyPrefab); // 將對象 添加到某個 節(jié)點內let x = (Math.random() * 360) // random() 0-360 enemyPrefab.setPosition(180 - x, 350); // 設置敵機的Y坐標console.log("enemyPrefab: " + (180 - x) + " y" + 350);}}
運行,飛機出來了,就是不會動
8. 讓敵機飛
①創(chuàng)建Enemy.ts
②Enemy.ts和enemy_node節(jié)點綁定
③ 編寫enemy.ts代碼
import { _decorator, Component, Node } from 'cc';
const { ccclass, property } = _decorator;@ccclass('Enemy')
export class Enemy extends Component {start() {}update(deltaTime: number) {const enemy_list = this.node.children;let need_destroy =[];for (let i = 0; i < enemy_list.length; i++) {const pos = enemy_list[i].getPosition();if (pos.y < -400) {need_destroy.push(i);}else{enemy_list[i].setPosition(pos.x, pos.y - 10);}}for (let j = 0; j < need_destroy.length; j++) {const index = need_destroy[j];enemy_list[index].destroy(); //銷毀對象}}
}
然后運行 飛機就能飛了