老师看看我的理解
来源:8-1 Canvas动画
光aaaaand影
2019-08-19 09:17:35
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>canvas</title>
<style>
canvas{
border:1px solid red;
}
</style>
</head>
<body>
<canvas id="myCanvas" width="400" height="300">
您的浏览器不支持canvas!
</canvas>
<script type="text/javascript">
var myCanvas=document.getElementById("myCanvas");
// getContext() 方法返回一个用于在画布上绘图的环境
var ctx=myCanvas.getContext("2d");
var posX=0,posY=0,dir=1,isMouseInRect=false;
myCanvas.onmousemove=function(e){
var mouseX=e.offsetX;
var mouseY=e.offsetY;
if(mouseX>posX&&mouseX<posX+50
&&mouseY>posY&&mouseY<posY+50){
isMouseInRect=true;
// console.log(isMouseInRect);
}else{
isMouseInRect=false;
// console.log(isMouseInRect);
}
}
setInterval(function(){
ctx.clearRect(0,0,myCanvas.width,myCanvas.height);
ctx.fillRect(posX,posY,50,50);
if(posX+50>=myCanvas.width){
dir=-1;
}else if(posX<=0){
dir=1;
}
// console.log(isMouseInRect);
if(isMouseInRect==false){
posX+=10*dir;
}
},100)
</script>
</body>
</html>老师,我觉得这样子判断比视频中的代码好理解一些吧。
我对if判断条件有一点迷,
视频中用的(!isMouseInRect),是不是只有在(!isMouseInRect)为真时才会执行后边的代码?
还有一种情况是,有时候括号中并没有像我这样明确的写等于false还是true,而是直接写一个变量,例如if( ismouseDown),在这种情况下究竟什么时候执行if{}中的代码
1回答
同学你好, 编程是灵活的, 同学觉得这种判断方法比较好理解, 就可以使用这种书写方式呀
对于同学的疑惑解答如下
!isMouseInRect 这里同学理解是对的
if(ismouseDown) 这种写法等同于if(ismouseDown == true ), 表示在ismouseDown为真的情况下, 才会执行if后面的代码哦
如果帮助到了你, 欢迎采纳!
祝学习愉快~~~
相似问题