Commit d022180d authored by liujiaxin's avatar liujiaxin

feat: change skin

parent d56aa152
......@@ -28,11 +28,11 @@ export default class ChangeItemAnimation extends cc.Component {
this.armatureDisplay = this.animNode.getComponent(dragonBones.ArmatureDisplay);
this.armatureDisplay.addEventListener(dragonBones.EventObject.COMPLETE, this.OnCallAnimationPlayComplete, this);
// @ts-ignore
this.node.changeSkin = this.changeSkin.bind(this)
this.node.changeFurniture = this.changeFurniture.bind(this)
}
changeSkin (data) {
pg.view.setNetImg(this.node, data.itemImage, false).then(() => {
changeFurniture (data) {
pg.view.setNetImg(this.node, data.itemImage, false).then(({w, h}) => {
console.log({w, h})
let {x, y, width, height} = this.node;
if (data.rect) {
x = data.rect.x;
......@@ -43,6 +43,10 @@ export default class ChangeItemAnimation extends cc.Component {
this.node.y = y;
this.node.width = width;
this.node.height = height;
this.node.active = false;
setTimeout(() => {
this.node.active = true;
})
}
user.updateFurniture(data, {
x, y, width, height
......
......@@ -111,7 +111,7 @@ const USER = {
growthDailyMax: 100,
eatTime: new Date().getTime(),
useFurniture: [],
useClothes: [],
useClothes: 13,
mood: "开心"
}
enum ITEM_TYPE {
......
This diff is collapsed.
This diff is collapsed.
import Item from "./item"
import user from "./user";
import shop from "./shop";
import pg from "../pg";
class Dress {
public _list: Array<Item>
defaultSkin = {
cover: "ani/cover.png",
type: 3,
meta_value: {
"eat": {
"tex_png": "ani/eating/eating_tex.png",
"ske_json": "ani/eating/eating_ske.json",
"tex_json": "ani/eating/eating_tex.json",
"armature": "",
// "play": "default"
},
"walk": {
"tex_png": "ani/walkinghungryhappy/walkinghungryhappy_tex.png",
"ske_json": "ani/walkinghungryhappy/walkinghungryhappy_ske.json",
"tex_json": "ani/walkinghungryhappy/walkinghungryhappy_tex.json",
"armature": "Armature",
"animation": "happy",
// "play": ""
}
},
};
constructor() {
this._list = [];
}
parse(list: any) {
if (!list) return;
this._list = [this.defaultSkin, ...list];
}
get list() {
let currentIndex = 0
if (this._list.length > 1) {
}
return this._list.map((it, i) =>{
it.current = user.isCurrentDress(it.id)
return it;
});
}
has(item_id) {
return this._list.indexOf(item_id) > -1;
}
setDressItem(node, id) {
const item = this._list.find(li => li.id == id);
if (!item) {
return;
}
pg.view.setNetImg(node, item.itemImage, true).then(() => {
node.active = true;
if (rect) {
node.x = rect.x;
node.y = rect.y;
node.width = rect.width;
node.height = rect.height;
}
});
}
}
const dress = new Dress();
export default dress;
{
"ver": "1.0.8",
"uuid": "f8d8b243-dd28-4f9b-87fd-eae71a1bbdc5",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
......@@ -4,7 +4,7 @@ class HouseItem extends Item {
public kind: string; // 商品种类
// public own: boolean;
public rect: {x: number, y: number, width: number, height: number}
public current = false;
public defaultId: number;
constructor(obj: any) {
super(obj);
......
import HouseItem from "./house-item"
import HouseItem from "./house-item";
import { ITEM_TYPE } from "../config/config";
import user from "./user";
import shop from "./shop";
import pg from "../pg";
class House {
public _list: Array<HouseItem>
......@@ -26,7 +28,11 @@ class House {
return this._list.findIndex(it => it.id == item_id) > -1;
}
setFurnitureItem(node, id, rect = null) {
const item = this._list.find(li => li.id == id);
// const item = this._list.find(li => li.id == id);
// const item = shop.getListByType(ITEM_TYPE.HOUSE).find(li => li.id == id);
const item = shop._list.find(li => li.id == id);
// if (!item) {
// item = this._list.find(li => {
// return li.defaultId == id
......@@ -37,12 +43,13 @@ class House {
}
pg.view.setNetImg(node, item.itemImage, true).then(() => {
node.active = true;
if (rect) {
node.x = rect.x;
node.y = rect.y;
node.width = rect.width;
node.height = rect.height;
if (!rect) {
rect = item.rect;
}
node.x = rect.x;
node.y = rect.y;
node.width = rect.width;
node.height = rect.height;
});
}
......
......@@ -9,6 +9,7 @@ class Item {
public discount: number;//折扣
public num: number;//拥有数量
public levelLimite: number;//等级限制
public current = false;
constructor(obj: any) {
this.id = obj.id;
this.type = obj.type;
......
import Item from "./item"
import HouseItem from "./house-item"
import house from "./house";
import dress from "./dress";
import { ITEM_TYPE } from "../config/config";
class Shop {
public _list: Array<Item>
constructor() {
......@@ -20,12 +22,16 @@ class Shop {
return this._list.filter(li => ![20,21,22,23,24,25,26,27,28,29,30].includes(li.id));
}
getListByType(type: number) {
const myDress = dress.list.map(it => it.id).filter(id => !!id)
return this._list.filter(li => {
return li.type == type && ![20,21,22,23,24,25,26,27,28,29,30].includes(li.id);
}).map(li => {
if (li.type == 2) {
if (li.type == ITEM_TYPE.FOOD) {
return {...li, num: (house.has(li.id) ? 1 : 0)}
}
if (li.type == ITEM_TYPE.CLOTHES) {
return {...li, num: (myDress.includes(li.id) ? 1 : 0)}
}
return li;
});
......
......@@ -11,10 +11,13 @@ class User {
public growthDailyMax: number;
public eatTime: number;
// public useFurniture: Array<number>;
public useClothes: Array<number>;
public useClothes: number;
public myFurniture: any;
public myDress: any;
public mood: number;//0开心 1不开心
private dataReadyCallback = null
constructor() {
}
......@@ -31,6 +34,12 @@ class User {
this.myFurniture = data.myFurniture;
this.useClothes = data.useClothes;
this.mood = data.mood;
if (this.dataReadyCallback && this.dataReadyCallback.call) {
this.dataReadyCallback(this)
}
}
setDataReadyCallback(callback) {
this.dataReadyCallback = callback
}
isDailyMax() {
return this.growthDailyMax >= this.growthDaily
......@@ -43,6 +52,9 @@ class User {
useCoin(val) {
this.coin -= val;
}
isCurrentDress(id) {
return this.useClothes == id;
}
isCurrentFurniture(id, kind) {
if (this.myFurniture.furniture) {
return this.myFurniture.furniture[kind].id == id
......@@ -50,6 +62,10 @@ class User {
return false;
}
hasThisDress(id) {
return false
}
updateFurniture(data, rect) {
this.myFurniture.furniture[data.kind] = {
...this.myFurniture.furniture[data.kind],
......@@ -58,6 +74,9 @@ class User {
}
Api.updateUserHouse(data, rect);
}
updateDress(id) {
Api.updateUserDress(id);
}
// //当前等级成长值最大值
// public get growthLevel(): number {
// let max = 1;
......
......@@ -2,6 +2,7 @@ import pg from "../pg";
import { ITEMS, USER } from "../config/config"
import user from "../model/user";
import kitchen from "../model/kitchen";
import dress from "../model/dress";
import shop from "../model/shop";
import house from "../model/house";
//获取信息,购买物品,使用物品(吃东西),穿戴衣服/更换家具
......@@ -10,9 +11,14 @@ class Api {
static askUser() {
return new Promise((resolve, reject) => {
console.log(`[askUser] ${ globalThis.____GAME_ENV____.baseUrl}pets/v2/info`)
pg.http.send("GET", `${ globalThis.____GAME_ENV____.baseUrl}pets/v2/info`, null).then((userInfo: any) => {
pg.http.send("GET", `${ globalThis.____GAME_ENV____.baseUrl}pets/v3/info`, null).then((userInfo: any) => {
// let userInfo = USER;
try{
const shopItemMap = {};
userInfo.shop_items.forEach(item => {
shopItemMap[item.id] = item;
});
shop.parse(userInfo.shop_items);
const mood = (Date.now() - userInfo.status.eat.time) > 4 * 60 * 60 * 1000 ? 1: 0; // 4 hours
const info = {
name: userInfo.name,
......@@ -21,17 +27,20 @@ class Api {
eatTime: userInfo.status.eat.time,
// useFurniture: userInfo.furniture,
myFurniture: userInfo.furniture,
useClothes: userInfo.dress,
useClothes: userInfo.dress.id,
growth: userInfo.current_exp,
growthLevel: userInfo.need_exp,
mood
};
console.log(info);
user.parse(info);
const my_dress_items = userInfo.my_dress_items.map(item => {
return shopItemMap[item.id];
});
// let kitchenInfo = ITEMS;
house.parse(userInfo.my_furniture_items);
kitchen.parse(userInfo.my_food_items);
shop.parse(userInfo.shop_items);
dress.parse(my_dress_items);
console.log(info);
user.parse(info);
resolve('');
} catch(e) {
reject(e)
......@@ -41,6 +50,19 @@ class Api {
})
});
}
static updateUserDress(params) {
return new Promise((resolve, reject) => {
pg.http.send("POST", `${ globalThis.____GAME_ENV____.baseUrl}pets/update/dress`, params).then((resp: any) => {
try {
resolve(resp);
} catch (e) {
reject(e)
}
}).catch(e => {
reject(e)
})
});
}
static updateUserHouse(data, rect) {
return new Promise((resolve, reject) => {
pg.http.send("POST", `${ globalThis.____GAME_ENV____.baseUrl}pets/update/house`, {
......
This diff is collapsed.
{
"ver": "1.0.8",
"uuid": "e9ba8d59-a9e5-43f1-bdd7-23ccb0882821",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
......@@ -144,10 +144,13 @@ let pg = {
let w = node.width;
let h = node.height;
node.active = false;//
pg.load.loadNetImg(res).then((texture: cc.Texture2D) => {
if (!cc.isValid(node)) return pg.logger.i("节点已销毁");
let nw = node.width = texture.width;
let nh = node.height = texture.height;
// let nw = node.width = texture.width;
// let nh = node.height = texture.height;
let nw = texture.width;
let nh = texture.height;
let spriteFrame = new cc.SpriteFrame(texture);
node.net_spriteFrame
node.net_url = res;
......@@ -160,6 +163,7 @@ let pg = {
const sx = node.width / width;
const sy = node.height / height;
const s = Math.min(sx, sy);
// console.error('loadNetImg', res)
cover.scale = Math.round(s * 1000) / 1000;
} else {
let component = node.getComponent(cc.Sprite);
......@@ -290,7 +294,7 @@ let pg = {
//此处需要二次封装,新的存在assetbundle
return new Promise((resolve, reject) => {
cc.loader.loadRes(res, type, (err, data) => {
if (err && !data) return resolve(pg.logger.d('loading loadRes error-> ' + res));
if (err && !data) return reject(pg.logger.d('loading loadRes error-> ' + res));
resolve(data);
});
})
......@@ -314,11 +318,57 @@ let pg = {
},
loadNetImg: async function (url) {
return new Promise((resolve, reject) => {
cc.loader.load({ url }, (err, texture) => {
if (err && !texture) return resolve(pg.logger.w('loading loadRes warn-> ' + texture));
resolve(texture);
});
// cc.loader.load({ url }, (err, texture) => {
// if (err && !texture) return resolve(pg.logger.w('loading loadNetImg warn-> ' + texture));
// resolve(texture);
// });
if (url.startsWith('http')) {
cc.assetManager.loadRemote(url, (err, texture) => {
if (err && !texture) return resolve(pg.logger.w('loading loadNetImg warn-> ' + texture));
resolve(texture);
});
} else {
console.log('cc.resources.load', url)
const [uri, ext] = url.split('.');
cc.resources.load(uri, cc.Texture2D ,(a,b)=>{},(err, texture)=>{
if (err && !texture) return reject(pg.logger.w('loading cc.resources.load warn-> ' + texture));
resolve(texture);
});
}
})
},
loadAsset: async function (url, option) {
return new Promise((resolve, reject) => {
// cc.loader.load({ url }, (err, texture) => {
// if (err && !texture) return resolve(pg.logger.w('loading loadNetImg warn-> ' + texture));
// resolve(texture);
// });
if (!option || Object.keys(option).length == 0) option = {type: cc.Texture2D};
if (url.startsWith('http')) {
cc.assetManager.loadRemote(url,option, (err, texture) => {
if (err && !texture) return reject(pg.logger.w('loading loadNetImg warn-> ' + texture));
resolve(texture);
});
} else {
console.log('cc.resources.load', url)
const [uri, ext] = url.split('.');
cc.resources.load(uri, option.type ,(a,b)=>{},(err, texture)=>{
console.log(uri, option.type.name, err, texture )
if (err && !texture) return reject(pg.logger.w('loading cc.resources.load warn-> ' + texture));
resolve(texture);
});
}
})
},
/**
* params is array
* [['http://asdfa.com/a.png', {ext: '.png'}], ['http://asdfa.com/a.json', {ext: '.json'}]]
*/
loadAssets: async function (params) {
const tasks = params.map(([url, option]) => {
return pg.load.loadAsset(url, option);
})
return Promise.all(tasks);
},
},
localStorage: {
......
......@@ -45,7 +45,9 @@ export default class NewClass extends cc.Component {
for (let i = 0; i < list.length; i += addNum) {
let datas = [list[i]];
for (let m = 1; m < addNum; m++) {
datas.push(list[i + m]);
if (list[i + m]) {
datas.push(list[i + m]);
}
}
let item = this._selectorCall(items, datas);
let itemClone = cc.instantiate(item);
......
......@@ -42,7 +42,7 @@ export function getAngleByPos(px, py, mx, my) {
}
export function exchangeNodePos(baseNode, targetNode) {
export function exchangeNodePos(baseNode, targetNode) {console.log('exchangeNodePos')
return baseNode.convertToNodeSpaceAR(targetNode._parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y)));
}
......@@ -63,20 +63,20 @@ export function randomSortByArr(arr) {
return newArr;
}
export function setSprNodeMaxLen(sprNode, maxW, maxH) {
export function setSprNodeMaxLen(sprNode, maxW, maxH) {console.error('setSprNodeMaxLen')
const sx = maxW / sprNode.width;
const sy = maxH / sprNode.height;
const s = Math.min(sx, sy);
sprNode.scale = Math.round(s * 1000) / 1000;
}
export function localPosTolocalPos(baseNode, targetNode) {
export function localPosTolocalPos(baseNode, targetNode) {console.log('localPosTolocalPos')
const worldPos = targetNode.parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y));
const localPos = baseNode.parent.convertToNodeSpaceAR(cc.v2(worldPos.x, worldPos.y));
return localPos;
}
export function worldPosToLocalPos(worldPos, baseNode) {
export function worldPosToLocalPos(worldPos, baseNode) {console.log('worldPosToLocalPos')
const localPos = baseNode.parent.convertToNodeSpaceAR(cc.v2(worldPos.x, worldPos.y));
return localPos;
}
......@@ -114,7 +114,7 @@ export function playAudioByUrl(audio_url, cb=null) {
}
export function btnClickAnima(btn, time=0.15, rate=1.05) {
export function btnClickAnima(btn, time=0.15, rate=1.05) {console.error('btnClickAnima')
btn.tmpScale = btn.scale;
btn.on(cc.Node.EventType.TOUCH_START, () => {
cc.tween(btn)
......@@ -222,7 +222,7 @@ export class FireworkSettings {
}
}
export async function showFireworks(fireworkSettings) {
export async function showFireworks(fireworkSettings) {console.log('showFireworks')
const { baseNode, nodeList, pos, side, range, number, scalseRange } = fireworkSettings;
new Array(number).fill(' ').forEach(async (_, i) => {
......
......@@ -8,7 +8,7 @@
"genMipmaps": false,
"packable": true,
"width": 1334,
"height": 92,
"height": 152,
"platformSettings": {},
"subMetas": {
"wainscoting": {
......
{
"ver": "1.1.2",
"uuid": "68fdd5c0-48a6-4db5-b219-780457e9fe9b",
"isBundle": true,
"bundleName": "resources",
"priority": 8,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "119f21e9-7ecf-4223-825a-31179b364f28",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "c97d088e-6fb3-4b14-a636-aa11d86ff31a",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 160,
"height": 183,
"platformSettings": {},
"subMetas": {
"cover": {
"ver": "1.0.4",
"uuid": "bf718212-a007-44cd-8664-975a20bc01ac",
"rawTextureUuid": "c97d088e-6fb3-4b14-a636-aa11d86ff31a",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -0.5,
"offsetY": -7,
"trimX": 13,
"trimY": 26,
"width": 133,
"height": 145,
"rawWidth": 160,
"rawHeight": 183,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "5cb14f87-267e-4de5-894b-61d5f332d885",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
{"frameRate":24,"name":"eating","version":"5.5","compatibleVersion":"5.5","armature":[{"type":"Armature","frameRate":24,"name":"Armature","aabb":{"x":-117,"y":-126.95,"width":257,"height":279.22},"bone":[{"name":"root","transform":{"x":-224,"y":-126.95}},{"length":31,"name":"tou_","parent":"root","transform":{"x":224.75,"y":84.7,"skX":-89.0804,"skY":-89.0804}},{"length":26,"name":"左手","parent":"root","transform":{"x":183.45,"y":104.75,"skX":105.5355,"skY":105.5355}},{"length":15,"name":"右手","parent":"root","transform":{"x":286.35,"y":141.55,"skX":-135.5185,"skY":-135.5185}},{"length":22,"name":"左手1","parent":"左手","transform":{"x":33.6608,"y":-3.8046,"skX":-33.1913,"skY":-33.1913}},{"name":"嘴巴","parent":"tou_","transform":{"x":-6.9595,"y":-0.5384}},{"name":"眼睛","parent":"tou_","transform":{"x":33.5974,"y":-22.2421,"skX":134.0804,"skY":134.0804}},{"length":17,"name":"右手1","parent":"右手","transform":{"x":23.0539,"y":-0.1449,"skX":-8.6654,"skY":-8.6654}},{"length":18,"name":"叉子","parent":"右手1","transform":{"x":26.1068,"y":-1.7602,"skX":-12.2047,"skY":-12.2047}},{"name":"吃","parent":"嘴巴","transform":{"x":8.3396,"y":-18.0602,"skX":44.0804,"skY":44.0804}}],"slot":[{"name":"凳子","parent":"root"},{"name":"身体","parent":"root"},{"name":"桌子","parent":"root"},{"name":"左手","parent":"左手1"},{"name":"右袖子","parent":"root"},{"name":"围嘴","parent":"root"},{"name":"tou_","parent":"tou_"},{"name":"嘴巴","parent":"嘴巴"},{"name":"吃","parent":"吃"},{"name":"眼睛","parent":"眼睛"},{"name":"叉子","parent":"叉子"},{"name":"右手","parent":"右手1"}],"skin":[{"slot":[{"name":"叉子","display":[{"name":"吃饭-场景/叉子","transform":{"x":3.04,"y":0.47,"skX":156.39,"skY":156.39}}]},{"name":"眼睛","display":[{"name":"吃饭-场景/眼睛","transform":{"x":13.22,"y":-15.7,"skX":-45,"skY":-45}}]},{"name":"吃","display":[{"name":"吃饭-场景/吃","transform":{"x":1.8,"y":0.25,"skX":45,"skY":45}}]},{"name":"嘴巴","display":[{"name":"吃饭-场景/嘴巴","transform":{"x":3.13,"y":-1.15,"skX":89.08,"skY":89.08}}]},{"name":"tou_","display":[{"name":"吃饭-场景/tou_","transform":{"x":31.6,"y":-6.76,"skX":89.08,"skY":89.08}}]},{"name":"围嘴","display":[{"name":"吃饭-场景/围嘴","transform":{"x":222,"y":106.5}}]},{"name":"右袖子","display":[{"name":"吃饭-场景/右袖子","transform":{"x":274,"y":110.5}}]},{"name":"左手","display":[{"type":"mesh","name":"吃饭-场景/左手","width":46,"height":80,"vertices":[202.72,97.92,201.47,88.37,194.87,87.22,189.77,87.22,180.32,87.22,170.32,96.62,162.27,112.52,156.72,125.87,156.72,137.52,156.72,146.62,163.22,155.52,169.07,167.22,178.02,167.22,188.97,167.22,202.72,167.22,202.72,154.72,200.47,148.77,202.72,144.77,202.72,129.72,202.72,111.47],"uvs":[1,0.13375,0.97283,0.01437,0.82935,0,0.71848,0,0.51304,0,0.29565,0.1175,0.12065,0.31625,0,0.48312,0,0.62875,0,0.7425,0.1413,0.85375,0.26848,1,0.46304,1,0.70109,1,1,1,1,0.84375,0.95109,0.76937,1,0.71937,1,0.53125,1,0.30312],"triangles":[3,5,19,5,6,19,13,14,15,16,13,15,3,19,0,2,3,0,1,2,0,6,7,18,16,17,18,8,16,18,7,8,18,19,6,18,8,10,16,4,5,3,12,13,16,10,12,16,8,9,10,10,11,12],"weights":[2,2,0.842048,4,0.157952,2,2,0.836259,4,0.163741,2,2,0.86805,4,0.13195,2,2,0.887323,4,0.112677,2,2,0.891428,4,0.108572,2,2,0.882413,4,0.117587,2,2,0.730506,4,0.269494,2,2,0.599991,4,0.400009,2,2,0.504022,4,0.495978,2,2,0.438303,4,0.561697,2,2,0.310744,4,0.689256,2,2,0.176269,4,0.823731,2,2,0.072993,4,0.927007,2,2,0.050352,4,0.949648,2,2,0.156358,4,0.843642,2,2,0.207104,4,0.792896,2,2,0.259737,4,0.740263,2,2,0.33567,4,0.66433,2,2,0.515341,4,0.484659,2,2,0.761004,4,0.238996],"slotPose":[1,0,0,1,0,0],"bonePose":[2,-0.267836,0.963465,-0.963465,-0.267836,183.45,104.75,4,0.303297,0.952896,-0.952896,0.303297,178.1,138.2],"edges":[0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,0],"userEdges":[]}]},{"name":"桌子","display":[{"name":"吃饭-场景/桌子","transform":{"x":236.5,"y":209.72}}]},{"name":"身体","display":[{"name":"吃饭-场景/身体","transform":{"x":234,"y":164.22}}]},{"name":"凳子","display":[{"name":"吃饭-场景/凳子","transform":{"x":250,"y":229}}]},{"name":"右手","display":[{"type":"mesh","name":"吃饭-场景/右手","width":49,"height":46,"vertices":[293.9,122.67,286.05,119.97,276.05,108.62,268.6,103.22,261.35,103.22,256.05,103.22,249.75,109.37,246,116.32,246,123.92,246,131.92,254.2,141.57,261.6,147.02,267.3,149.22,275.35,149.22,283.2,149.22,290.65,149.22,293.95,144.02,295,137.77,295,130.87,295,125.77],"uvs":[0.97755,0.42283,0.81735,0.36413,0.61327,0.11739,0.46122,0,0.31327,0,0.2051,0,0.07653,0.1337,0,0.28478,0,0.45,0,0.62391,0.16735,0.8337,0.31837,0.95217,0.43469,1,0.59898,1,0.75918,1,0.91122,1,0.97857,0.88696,1,0.75109,1,0.60109,1,0.49022],"triangles":[0,1,19,14,16,17,14,17,18,1,14,18,19,1,18,13,14,1,14,15,16,2,10,1,10,11,1,12,13,1,11,12,1,8,10,2,7,8,6,6,8,4,3,4,2,4,8,2,8,9,10,5,6,4],"weights":[1,3,1,2,3,0.79,7,0.21,2,3,0.374362,7,0.625638,2,3,0.268005,7,0.731995,2,3,0.155811,7,0.844189,2,3,0.11611,7,0.88389,2,3,0.06363,7,0.93637,2,3,0.084304,7,0.915696,2,3,0.154797,7,0.845203,2,3,0.293799,7,0.706201,2,3,0.462392,7,0.537608,2,3,0.540239,7,0.459761,2,3,0.616281,7,0.383719,2,3,0.77358,7,0.22642,2,3,0.915253,7,0.084747,2,3,0.92808,7,0.07192,2,3,0.935505,7,0.064495,2,3,0.9,7,0.1,1,3,1,1,3,1],"slotPose":[1,0,0,1,0,0],"bonePose":[3,-0.713477,-0.700679,0.700679,-0.713477,286.35,141.55,7,-0.8109,-0.585185,0.585185,-0.8109,269.8,125.5],"edges":[0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,0],"userEdges":[]}]}]}],"animation":[{"duration":60,"playTimes":0,"name":"eating","frame":[{"duration":0,"sound":"eating"}],"bone":[{"name":"tou_","rotateFrame":[{"duration":16,"curve":[0,0,0.5,1]},{"duration":18,"tweenEasing":0,"rotate":-4.28},{"duration":26}]},{"name":"眼睛","translateFrame":[{"duration":10,"tweenEasing":0},{"duration":22,"tweenEasing":0,"x":-1.93,"y":-4.84},{"duration":12,"tweenEasing":0,"x":-1.93,"y":-4.84},{"duration":16}]},{"name":"嘴巴","translateFrame":[{"duration":15,"tweenEasing":0},{"duration":15,"tweenEasing":0,"x":2.08,"y":-2.4},{"duration":15,"tweenEasing":0},{"duration":15,"tweenEasing":0,"x":2.08,"y":-2.4},{"duration":0}],"scaleFrame":[{"duration":15,"tweenEasing":0},{"duration":15,"tweenEasing":0,"y":1.12},{"duration":15,"tweenEasing":0},{"duration":15,"tweenEasing":0,"y":1.12},{"duration":0}]},{"name":"吃","scaleFrame":[{"duration":12,"tweenEasing":0,"x":0.8,"y":0.8},{"duration":12,"tweenEasing":0},{"duration":12,"tweenEasing":0,"x":0.8,"y":0.8},{"duration":12,"tweenEasing":0},{"duration":12,"tweenEasing":0,"x":0.8,"y":0.8},{"duration":0}]},{"name":"左手1","translateFrame":[{"duration":16,"tweenEasing":0},{"duration":20,"curve":[0,0,0.5,1],"x":3.84,"y":-6.5},{"duration":24}],"rotateFrame":[{"duration":16,"tweenEasing":0},{"duration":20,"curve":[0,0,0.5,1],"rotate":-9.23},{"duration":24}]},{"name":"右手1","translateFrame":[{"duration":10,"tweenEasing":0},{"duration":18,"curve":[0,0,0.5,1],"x":0.34,"y":4.12},{"duration":14,"tweenEasing":0,"x":1.22,"y":-8.82},{"duration":18,"tweenEasing":0,"x":1.23,"y":-3.29},{"duration":0}],"rotateFrame":[{"duration":10,"tweenEasing":0},{"duration":18,"curve":[0,0,0.5,1],"rotate":11.96},{"duration":14,"tweenEasing":0,"rotate":-3.79},{"duration":18,"tweenEasing":0,"rotate":10.34},{"duration":0}]},{"name":"叉子","rotateFrame":[{"duration":18,"curve":[0,0,0.5,1]},{"duration":22,"curve":[0,0,0.5,1],"rotate":12.65},{"duration":20,"tweenEasing":0,"rotate":-13.01},{"duration":0}]}]}],"defaultActions":[{"gotoAndPlay":"eating"}],"canvas":{"x":8,"y":8,"width":262,"height":286}}]}
\ No newline at end of file
{
"ver": "1.0.1",
"uuid": "8eda94aa-90d7-46e3-87d6-e212239eec32",
"subMetas": {}
}
\ No newline at end of file
{"name":"eating","SubTexture":[{"name":"吃饭-场景/凳子","x":258,"height":96,"y":109,"width":210},{"name":"吃饭-场景/身体","x":1,"height":166,"y":142,"width":120},{"name":"吃饭-场景/桌子","x":1,"height":139,"y":1,"width":255},{"name":"吃饭-场景/左手","x":123,"height":80,"y":197,"width":46},{"name":"吃饭-场景/右袖子","x":171,"height":55,"y":197,"width":48},{"name":"吃饭-场景/围嘴","x":123,"height":53,"y":142,"width":94},{"name":"吃饭-场景/tou_","x":258,"height":106,"y":1,"width":223},{"name":"吃饭-场景/嘴巴","x":219,"height":7,"y":161,"width":22},{"name":"吃饭-场景/吃","x":219,"height":17,"y":142,"width":13},{"name":"吃饭-场景/眼睛","x":221,"height":18,"y":207,"width":53},{"name":"吃饭-场景/叉子","x":123,"height":30,"y":279,"width":46},{"name":"吃饭-场景/右手","x":171,"height":46,"y":254,"width":49}],"imagePath":"eating_tex.png","height":512,"width":512}
\ No newline at end of file
{
"ver": "1.0.1",
"uuid": "583e299e-0f9e-4d27-b52c-2813ccf8dd2a",
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "2e9f1fb8-72d6-4b05-95da-8446ccb5048e",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 512,
"height": 512,
"platformSettings": {},
"subMetas": {
"eating_tex": {
"ver": "1.0.4",
"uuid": "67e8ae56-e59e-4e70-9024-24607460498b",
"rawTextureUuid": "2e9f1fb8-72d6-4b05-95da-8446ccb5048e",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -15,
"offsetY": 101,
"trimX": 1,
"trimY": 1,
"width": 480,
"height": 308,
"rawWidth": 512,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
{
"ver": "1.1.2",
"uuid": "1839fe97-78b0-4b25-b803-7fc196aade9a",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}
\ No newline at end of file
{
"ver": "1.0.1",
"uuid": "d1e0fd95-3f00-476d-9ce6-2595fe1d03ee",
"subMetas": {}
}
\ No newline at end of file
{"name":"walkinghungryhappy","imagePath":"walkinghungryhappy_tex.png","SubTexture":[{"name":"走路/阴影","x":1,"height":37,"y":334,"width":143},{"name":"走路/右腿","x":83,"height":77,"y":401,"width":62},{"name":"走路/左腿","x":1,"height":68,"y":435,"width":62},{"name":"走路/右手","x":147,"height":70,"y":401,"width":60},{"name":"走路/衣服2","x":1,"height":145,"y":1,"width":178},{"name":"走路/衣服","x":106,"height":100,"y":148,"width":95},{"name":"走路/左手","x":181,"height":83,"y":1,"width":64},{"name":"走路/围巾","x":1,"height":60,"y":373,"width":80},{"name":"走路/围巾2","x":146,"height":65,"frameY":0,"y":334,"frameHeight":65,"frameX":0,"frameWidth":78,"width":77},{"name":"走路/左耳","x":106,"height":82,"y":250,"width":107},{"name":"走路/右耳","x":1,"height":65,"y":257,"width":88},{"name":"走路/脸","x":1,"height":107,"y":148,"width":103},{"name":"走路/嘴巴","x":65,"height":10,"y":480,"width":23},{"name":"走路/鼻子","x":181,"height":60,"y":86,"width":67},{"name":"走路/眼珠","x":83,"height":21,"y":373,"width":50},{"name":"走路/眼皮","x":147,"height":32,"y":473,"width":59},{"name":"走路/饿","x":208,"height":35,"y":473,"width":38}],"height":512,"width":256}
\ No newline at end of file
{
"ver": "1.0.1",
"uuid": "7bb1fdec-6bf4-4d94-b596-5a98f4d68121",
"subMetas": {}
}
\ No newline at end of file
{
"ver": "2.3.5",
"uuid": "fb67c85c-587f-48f1-82a3-e64242a6d336",
"type": "sprite",
"wrapMode": "clamp",
"filterMode": "bilinear",
"premultiplyAlpha": false,
"genMipmaps": false,
"packable": true,
"width": 256,
"height": 512,
"platformSettings": {},
"subMetas": {
"walkinghungryhappy_tex": {
"ver": "1.0.4",
"uuid": "476841dd-bad5-4844-92b3-5eb0e514cbd1",
"rawTextureUuid": "fb67c85c-587f-48f1-82a3-e64242a6d336",
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": -3.5,
"offsetY": 1.5,
"trimX": 1,
"trimY": 1,
"width": 247,
"height": 507,
"rawWidth": 256,
"rawHeight": 512,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"subMetas": {}
}
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment