方法调用位置写错
一个是原型上的,一个是实例上的
引入ane.js 要在 main.js 前面
<script src="../../script/animation/ane.js"></script> <script src="../../script/animation/bg.js"></script> <script src="../../script/animation/index.js"></script>
strokeFill是属性,不是方法。直接用“=”赋值就行。
sublime text
要先画背景,后画海葵
可以创建3个画布,第三个画布只放背景图(z-index:0),第二画布放海葵和果实(z-index:1),第一个画布放其他(z-index:2)。
已解决!
在
function gameloop(){
// 绘制海葵
ane.draw();
}
加上ane.draw();
是不是aneObj的‘O’有些地方写成了数字‘0’
已解决,谢谢哦!
自己找到了答案...lineCap写成linecap了
init中的
this.x[i] 代表 aneObj.x[i], this其实就是指 aneObj, 而aneObj相对于 init 和draw 是外部的变量,所以他们都能访问的到 aneObj
这串代码没有问题
你的背景图片路径设置的不对,自己检查一下
lalalalalala我也这么觉得觉得 戴着耳机耳朵都疼
ane初始化方法
aneObj.prototype.init=function(){
for (var i=0;i<this.num ;i++ )
{
this.x[i]= i*10+Math.random()*20;//[0,1)
this.len[i]=200+Math.random()*50; // 高度
}
//console.log("a");
}
window.requestAnimFrame = (function(){
return window.requestAnimationFram ||
window.webkitRequestAnimationFram ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(/* function FrameRequestCallback */ callback, /* DOMElement Element */ element){
return window.setTimeout(callback, 1000 / 60);
}
})();
window.requestAnimFrame = (function() {
return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame ||
function( /* function FrameRequestCallback */ callback, /* DOMElement Element */ element) {
return window.setTimeout(callback, 1000 / 60);
};
})();
那就好
我的也是一样的
一般是按f12或者右键检查元素,如果是谷歌浏览器的话在右边有三个竖着的点,点一下找到更多工具,然后点开发者工具,浏览器的右边或者下边会出现一个栏,点一下console那个框就可以看到。键盘在CTRL+Shift+I 也可以调出这个栏
//定义一个海葵对象的类 var aneObj = function() { }; //定义海葵的宽、高属性 var x = []; var y = []; //定义海葵个数 aneObj.prototype.num = 50; //初始化确定每一个海葵的位置 aneObj.prototype.init = function() { for(var i = 0; i < this.num; i++) { //宽 x[i] = i * 20 + Math.random() * 20;//Math.random()随机[0,1] //高 y[i] = 200 + Math.random() * 50; } console.log(x[i]); }; //绘制海葵 aneObj.prototype.draw = function() { //指定api区间样式生效 ctx2.save(); ctx2.globalAlpha = 0.6; ctx2.lineWidth = '20'; ctx2.lineCap = 'round'; ctx2.strokeStyle = '#3b154e'; for(var i = 0; i < this.num; i++) { //beginPath,moveTo,lineTo,strokeStyle,stroke,lineWidth,lineCap,globalAlpha ctx2.beginPath(); ctx2.moveTo(x[i],canHeight); ctx2.lineTo(x[i],canHeight - y[i]); ctx2.stroke(); } ctx2.restore(); };
有没有获取 can1.width can1.height
你是不是在HTML里没有导入ane.js
我也有这个错误 后来发现 是我的分号用了中文写
加上px,像素单位试试