采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,我查了好多遍code,都没发现有啥问题,但是背景图就是加载不出来。不知道为什么会这样?
export const Resources = [ ['background', 'res/background.png'], ['land', 'res/land.png'], ['pencilUp', 'res/pie_up.png'], ['pencilDown', 'res/pie_down.png'], ['birds', 'res/birds.png'], ['startButton', 'res/start_button.png'] ];
但是我的宽和高都和视频一样的,还是没能把背景图渲染出来啊。
//初始化整个游戏的精灵,作为游戏开始的入口 import {ResourceLoader} from "./js/base/ResourceLoader.js"; import {BackGround} from "./js/runtime/BackGround.js"; export class Main { constructor() { this.canvas = document.getElementById('game_canvas'); this.ctx = this.canvas.getContext('2d'); const loader = ResourceLoader.create(); loader.onloaded(map => this.onResourceFirstloaded(map)); let image = new Image(); image.src = '../res/background.png'; image.onload = () => { this.ctx.drawImage( image, 0, 0, image.width, image.height, 0, 0, image.width, image.height ); } } onResourceFirstloaded(map) { let background = new BackGround(this.ctx, map.get('background')); background.draw(); } }
是不是资源路径有问题?image.src = '/res/background.png';
没错啊,我也是这样写的
这个应该是你的,就是这个图片的,整个的坐标上出现问题了,你看你的图片他只加载了上面一部分,而下面是并没有被绘制出来的,也就是说呢,你的问题是出在你的末尾参数,也就是决定他的高度的参数上的。
但是我的宽和高都和视频一样的,还是没能把背景图渲染出来啊。 //初始化整个游戏的精灵,作为游戏开始的入口 import {ResourceLoader} from "./js/base/ResourceLoader.js"; import {BackGround} from "./js/runtime/BackGround.js"; export class Main { constructor() { this.canvas = document.getElementById('game_canvas'); this.ctx = this.canvas.getContext('2d'); const loader = ResourceLoader.create(); loader.onloaded(map => this.onResourceFirstloaded(map)); let image = new Image(); image.src = '../res/background.png'; image.onload = () => { this.ctx.drawImage( image, 0, 0, image.width, image.height, 0, 0, image.width, image.height ); } } onResourceFirstloaded(map) { let background = new BackGround(this.ctx, map.get('background')); background.draw(); } }
登录后可查看更多问答,登录/注册
官方同步,第一时间掌握整套微信小游戏开发核心技术
893 13
1.1k 12
2.5k 11
1.3k 8
1.1k 8