为什么这么大

来源:2-4 果实绘制(静态果实)

初岓

2017-09-11 17:56

什么原因啊http://img.mukewang.com/59b679e80001964707950602.jpg

写回答 关注

12回答

  • 坚持活下去啊
    2017-09-12 13:48:01
    已采纳

    我把你的放在我的里面,果实是正常大小,你是只截图截了一部分吗?http://img.mukewang.com/59b7750b000165c708020598.jpg

    初岓

    非常感谢!

    2017-09-12 16:59:10

    共 2 条回复 >

  • 坚持活下去啊
    2017-09-12 17:34:37

    你的问题解决了吗?

    皮里啪啦

    调了还是没有变化啊?我在画海葵也出现过类似问题和老师一样的代码 但是显示出来比例不一样

    2018-05-12 08:07:30

    共 1 条回复 >

  • 坚持活下去啊
    2017-09-12 13:53:48

    上面的图是你的代码,我直接拿来用,是没有问题的,你可以把aneobj.js中的lineWidth调大一些,

       这里也可以调大些this.len[i] = 200 + Math.random()*50;

  • 初岓
    2017-09-12 13:33:01
    var aneObj = function () {
    	this.x = [];
    	this.len = [];
    }
    aneObj.prototype.num = 50;
    aneObj.prototype.init = function () {
    	for(var i =0;i < this.num; i++){
    		this.x[i] = i*9 + Math.random()*2;
    		this.len[i] = 50 + Math.random()*5;
    	}
    
    
    }
    aneObj.prototype.draw = function () {
    	ctx2.save();
    	ctx2.globalAlpha = 0.6;
    	ctx2.lineWidth = 8;
    	ctx2.lineCap = "round";
    	ctx2.strokeStyle = "#3b154e";
    	for(var i =0; i < this.num; i++){
    		ctx2.beginPath();
    		ctx2.moveTo(this.x[i],canHeight);
    		ctx2.lineTo(this.x[i],canHeight - this.len[i]);	
    		ctx2.stroke();
    	}
    	ctx2.restore();
    }


  • 初岓
    2017-09-12 13:28:44
    var fruitObj = function () {
    	this.alive = [];//bool
    	this.x = [];
    	this.y = [];
    	this.orange = new Image();
    	this.blue = new Image();
    }
    fruitObj.prototype.num = 30;
    fruitObj.prototype.init = function () {
    	for( var i = 0;i < this.num; i++){
    		this.alive[i] = true;
    		this.x[i] = 0;
    		this.y[i] = 0;
    		this.born(i);
    	}
    	this.orange.src = "./src/fruit.png";
    	this.blue.src= "./src/blue.png";
    }
    fruitObj.prototype.draw = function () {
    	for(var i=0; i < this.num; i++){
    		ctx2.drawImage(this.orange,this.x[i],this.y[i]);
    
    	}
    }
    fruitObj.prototype.born = function (i) {
    	var aneId= Math.floor(Math.random()*ane.num)
    	this.x[i] = ane.x[aneId];
    	this.y[i] = canHeight - ane.len[aneId];
    }


  • 坚持活下去啊
    2017-09-12 13:26:44

    你可以把画海葵的代码贴出来。

    初岓

    当初那个海葵也特别大 占满整个屏幕,我是把那个x和y都值调了一下

    2017-09-12 13:34:27

    共 1 条回复 >

  • 坚持活下去啊
    2017-09-12 13:24:33

    你这个会全部变得越来越大吗?


  • 坚持活下去啊
    2017-09-11 22:28:52

    不好意思,我看着图片又想,发现你还没有学到后面,答非所问了,对不起了,这里你的图片大小应该是没有做限制了,this.l[i]<limitnum,,,limitnum是你限制图片的大小,如果设了限制,那就是上面的原因,老师对于这个原因也是后面才将,你先不急,我的回答如果使你困惑,我很抱歉!

    初岓

    谢谢你能回答这么多,但是我这个问题怎么解决,我还是没懂。。。

    2017-09-12 13:19:46

    共 1 条回复 >

  • 坚持活下去啊
    2017-09-11 22:11:22

    我一开始也是这样,但我无聊,一直不动一个页面 ,整的计算机窗口就只有他,不会出现了

  • 坚持活下去啊
    2017-09-11 22:09:54

    你是不是打开一个页面以后,然后打开调整代码的工具,此时计算器窗口只有代码页面,原来的页面也被遮挡了,这个打开两个页面差不多

  • 初岓
    2017-09-11 22:05:17

    那我只开一个页面也是好大好大

  • 坚持活下去啊
    2017-09-11 21:59:53

    这个问题,老师的优化里已经做出了解释,你如果开启了另外一个页面或者多个窗口访问,那么他们都是访问的是同一个资源,图片的大小是和每一帧的图像时间差来决定的,第一个窗口的某些或某个fruit[i]的width假设是10,下一帧是12,然后你打开另一个页面,刚好born了fruit[i],他承接上一个窗口的width=10,过了5帧之后,width已经是达到上限了(对于这个窗口来说),可你调回第一次打开的页面,资源重新启动,但此时时间差不一样了,本来width=1帧*10;但此时width=(1+5)*10,图片陡然增大,总之是开闭或打开另一个窗口,原来的js静止。希望你能明白,这里,老师的"优化"一节课给出了说明,我只是阐述一边。

    初岓

    那我只开一个页面也是好大好大

    2017-09-11 22:06:57

    共 1 条回复 >

HTML5小游戏---爱心鱼(上)

学做HTML5游戏,轻轻松松带你上手,适合刚入手游戏开发的同学

92350 学习 · 551 问题

查看课程

相似问题