小白,目前有个需求就是找场景中 Item,Item 一多摆起来太麻烦了。我的想法是用脚本把 psd 中的 Item 位置坐标导出 json,可以在运行的时候根据 json 设置位置,但是我想在编辑器里可视化还能针对细调,导出来后怎么在编辑器里不需要运行就能自动根据 json 表更新位置。
编辑器里设置坐标还更新吗,不如写个拖动交互,运行后摆放更新坐标json
1赞
这也是个思路
我今天还用了这个功能:
@ccclass('ToolsImportTree')
export class ToolsImportTree extends Component {
@property
private _paste: string = '';
@property
public get paste(): string { return this._paste; }
public set paste(v: string) { this.importFromJson(v); }
@property(Prefab)
treePrefab: Prefab = null;
importFromJson(str) {
// this.node.destroyAllChildren();
let obj = JSON.parse(str);
for (let i = 0; i < obj.length; i++) {
let item = obj[i];
let node = instantiate(this.treePrefab);
node.setParent(this.node);
node.worldPosition = CocosTools.loadVec3(item.pos);
node.eulerAngles = CocosTools.loadVec3(item.rot);
node.scale = CocosTools.loadVec3(item.scale);
}
}
}
填完text之后需要擦除,不然会不断的运行
1赞
1.有直接从psd导成prefab 的插件 2.你的这个json如果只是坐标的话,直接写在脚本里定义常量,如果你的这个是关卡配置的话就按照关卡表来配置。3.纯存坐标用个json的这种写法倒是少见
,这个给了我思路:拖到 json 表到脚本组件,直接给在子节点设置位置。