感谢您提前阅读我的问题。 我正在研究scratch-gui的源代码,无法弄清楚如何显示图像。 就像代码here一样:
//line 93
const openSpriteLibrary = function () {
analytics.pageview('/libraries/sprites');
return openModal(MODAL_SPRITE_LIBRARY);
};
我猜图像来自this json file。
因此,我在整个仓库中搜索了sprites.json
和find it。
//line 107
handleSurpriseSpriteClick () {
const item = spriteLibraryContent[Math.floor(Math.random() * spriteLibraryContent.length)];
this.props.vm.addSprite(JSON.stringify(item.json));
}
然后我搜索addSprite
,却只找到2个可调用的地方。我在gui.jsx中找到了TargetPane,但是我无法弄清vm的意思是
<TargetPane
stageSize={stageSize}
vm={vm}
/>
我浏览了vm.js并找到了lib/storage
并打开了lib/storage.js:
const PROJECT_SERVER = 'https://projects.scratch.mit.edu';
......
this.addWebSource(
[this.AssetType.Project],
projectAsset => {
const [projectId, revision] = projectAsset.assetId.split('.');
return revision ?
`${PROJECT_SERVER}/internalapi/project/${projectId}/get/${revision}` :
`${PROJECT_SERVER}/internalapi/project/${projectId}/get/`;
}
);
我试图通过输入https://projects.scratch.mit.edu//internalapi/project来打开页面,但未找到404。
我不知道projectAsset
的来源。
我的问题是如何查看在线图像?