cocos 最新版本踩坑合集

384 阅读1分钟
cocos creator 3.5版本
  • 加载服务端资源图片
let sp_f = target.children[k].children[x].getComponent(Sprite);
sp_f.sizeMode = Sprite.SizeMode.CUSTOM;
sp_f.type = Sprite.Type.SIMPLE;
assetManager.loadRemote(
  url,
  { ext: ".png" },
  (err: Error, asset: ImageAsset) => {
    if (err) return error(err);
    sp_f.spriteFrame = SpriteFrame.createWithImage(asset);
  }
);
  • 加载本地资源图片sprite

    resources.load(`bg${num}/spriteFrame`, SpriteFrame, (err, spriteFrame) => {
      self.TurnTable.getComponent(Sprite).spriteFrame = spriteFrame;
    });


  • 节点旋转
this.TurnTable.eulerAngles = v3(0, 0, this._speed);

// this._speed 旋转角度
  • 更改节点元素的尺寸

let sp_ui = sp_node.getComponent(UITransform);
sp_ui.setContentSize(80, 80);
  • 挂在元素到父节点
node.setParent(this.TurnTable);
  • 封装元素http请求

import { _decorator, Component, Node } from "cc";
const { ccclass, property } = _decorator;
@ccclass("fetch")
class fetch {
  private baseURL: String = null;
  constructor() {
    // this.baseURL = "http://api.dev.live.zxyx.net/";
    this.baseURL = "";
  }
 
  myAjax(url2, method, data,token) {
    let url = this.baseURL + url2
    let promise = new Promise((resolve, reject) => {
      let xhr = new XMLHttpRequest();
     
      xhr.onreadystatechange = function () {
        if (xhr.readyState === 4) {
          if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) {
            resolve(xhr.response);
          } else {
            reject(new Error("error"));
          }
        }
      };
      if (method.toUpperCase() === "GET") {
        let paramslist = [];
        for (let key in data) {
          paramslist.push(key + "=" + data[key]);
        }
        //根据get请求方法对url进行拼接
        let params = paramslist.join("&");
        url = url + "?" + params;
        xhr.open("get", url, false);
        token && xhr.setRequestHeader('user-token',token)
        //使用get请求将内容连接在url后面
        xhr.send();
      }
      if (method.toUpperCase() === "POST") {
       
        xhr.open("post", url, false);
        xhr.setRequestHeader('user-token',token)
        xhr.setRequestHeader(
          "Content-Type",
          "application/json"
        );
        console.log("ssssssss",data)
        xhr.send(data);
        //使用post请求时将内容放在send里面
      }
    });
    return promise;
  }
}
let myAjax = new fetch()
export default myAjax

外层canvas 上下居中 里面widges居下