- 浏览: 601233 次
- 来自: ...
文章分类
最新评论
-
lgh1992314:
相同的元素呢
一种离散化方法 -
HelloSummerR:
圆心的位置是随机的,于是圆的部分会落到canvas外,那样就显 ...
HTML5 Canvas学习笔记(1)处理鼠标事件 -
hlstudio:
好久没见到sokuban了,这有个java版的,带源码,可以参 ...
求推箱子的最小步数(java) -
肖泽文:
太好了,谢谢你。。有中文注释!
HTML5 推箱子游戏过关演示动画 -
swm8023:
删除操作,将最后一个叶子节点插入后也有可能上浮吧
彻底弄懂最大堆的四种操作(图解+程序)(JAVA)
效果图:
点击看效果:
http://www.108js.com/article/canvas/4/inout.html
欢迎访问博主的网站:http://www.108js.com
源码如下:(后面有下载)
<!doctype html>
<html>
<head>
<title>界面淡入淡出</title>
<style>
@font-face {
font-family: 'PixelFont';
src: url('font/pixelfont.eot') format('embedded-opentype'),
url('font/pixelfont.woff') format('woff'),
url('font/pixelfont.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
h1{
font: 22pt 'PixelFont';
}
</style>
</head>
<body style="background-color:#eee;" >
<h1>Menu</h1>
<div id="GameDiv" style="margin:0 auto;" >
<canvas id="GameCanvas" >
Your browser does not support the HTML5 canvas element.
</canvas>
</div>
<div id="hidden" style="visibility:hidden; width:1px; height:1px; overflow:hidden">
<img id="backgroundMenu" src="img/backgroundmenu.png" onload="MainMenu(this);">
<img id="sprLogo" src="img/logo.png" onload="MainMenu(this);">
<img id="sprSplashLogo" src="img/splashLogo.png" onload="MainMenu(this);">
<img id="sprHTML" src="img/htmlit.png" onload="MainMenu(this);">
</div>
</body>
</html>
<script>
var div = document.getElementById("GameDiv");
div.style.width = "768px";
div.style.height = "512px";
var canvas = document.getElementById("GameCanvas");
canvas.setAttribute("width","768");
canvas.setAttribute("height","512");
var ctx = canvas.getContext("2d");
var patternMenu =null;
var timer=null;
var cx = canvas.width/2;
var cy = canvas.height/2;
var mouseX=10;
var mouseY=10;
var MousePress=false;
var itemsLoaded=0;//当前加载完的图片数
var fadeout = new FadeOut(40);
function MainMenu(item){
itemsLoaded++;//当前加载完的图片数
if(itemsLoaded==4) {
timer=setInterval(start,200);
// start();
}
}
function start(){
ctx.save();
patternMenu=ctx.createPattern(backgroundMenu,"repeat");
ctx.fillStyle = patternMenu;
ctx.fillRect(0,0,canvas.width, canvas.height);
ctx.restore();
ctx.drawImage(sprLogo, canvas.width/2 - sprLogo.width/2 , 80);
ctx.drawImage(sprSplashLogo, 70 , 180);
ctx.textAlign = "start";
ctx.font = "12pt 'Segoe UI Light',Verdana";
ctx.fillStyle = "#eee";
ctx.fillText("HTML.it | Guida Videogame HTML5 di Adriano Tumminelli", 60,canvas.height-20);
ctx.drawImage(sprHTML, 5, canvas.height-55);
ctx.shadowOffsetX = 0;
ctx.shadowBlur = 0;
MouseInsideText("New Game",cx, cy+10,"#eee", "#ea4");
MouseInsideText("Other games",cx, cy+80,"#eee", "#ea4");
fadeout.Update();
// requestAnimFrame(start);
}
function MouseInsideText(str, x, y, col1, col2){
ctx.shadowColor = "#000";
ctx.shadowOffsetX = 1;
ctx.font = "32pt 'PixelFont'"
ctx.textAlign = "center";
ctx.shadowBlur = 3;
var w = ctx.measureText(str).width;//字符串的宽
var h = 30;
var inside = (mouseX > x - w/2 && mouseY > y - h && mouseX < x + w/2 && mouseY < y+4 );
if(inside)//鼠标在文本上时
ctx.fillStyle = col2;
else
ctx.fillStyle = col1;
ctx.fillText(str, x, y);
return inside;
}
function FadeOut(time){//主要就是这个了,在整个界面上绘一个透明矩形实现淡入淡出
this.timeStart = time/2;
this.time = this.timeStart;
this.out = true;
this.Update = function(){
ctx.fillStyle = "#000";
if(this.out){
ctx.globalAlpha = 1 - this.time/this.timeStart;
if(this.time-- <= 0){
this.out = false;
this.time = this.timeStart;
}
}
else{
ctx.globalAlpha = this.time/this.timeStart;
if(this.time-- <= 0){
this.time = this.timeStart;
this.out = true;
}
}
ctx.fillRect(-1,-1,canvas.width+1,canvas.height+1);
ctx.globalAlpha = 1;
}
}
//鼠标移动
canvas.onmousemove=function(e) {
var e = window.event || e
var rect = this.getBoundingClientRect();
mouseX =e.clientX - rect.left;//获取鼠标在canvsa中的坐标
mouseY =e.clientY - rect.top;
}
//鼠标按下
canvas.onmousedown = function(evt){
var evt = window.event || evt;
MousePress=true;
}
canvas.onmouseup = function(evt){//鼠标松开
var evt = window.event || evt;
MousePress=false;
}
</script>
点击看效果:
http://www.108js.com/article/canvas/4/inout.html
欢迎访问博主的网站:http://www.108js.com
源码如下:(后面有下载)
<!doctype html>
<html>
<head>
<title>界面淡入淡出</title>
<style>
@font-face {
font-family: 'PixelFont';
src: url('font/pixelfont.eot') format('embedded-opentype'),
url('font/pixelfont.woff') format('woff'),
url('font/pixelfont.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
h1{
font: 22pt 'PixelFont';
}
</style>
</head>
<body style="background-color:#eee;" >
<h1>Menu</h1>
<div id="GameDiv" style="margin:0 auto;" >
<canvas id="GameCanvas" >
Your browser does not support the HTML5 canvas element.
</canvas>
</div>
<div id="hidden" style="visibility:hidden; width:1px; height:1px; overflow:hidden">
<img id="backgroundMenu" src="img/backgroundmenu.png" onload="MainMenu(this);">
<img id="sprLogo" src="img/logo.png" onload="MainMenu(this);">
<img id="sprSplashLogo" src="img/splashLogo.png" onload="MainMenu(this);">
<img id="sprHTML" src="img/htmlit.png" onload="MainMenu(this);">
</div>
</body>
</html>
<script>
var div = document.getElementById("GameDiv");
div.style.width = "768px";
div.style.height = "512px";
var canvas = document.getElementById("GameCanvas");
canvas.setAttribute("width","768");
canvas.setAttribute("height","512");
var ctx = canvas.getContext("2d");
var patternMenu =null;
var timer=null;
var cx = canvas.width/2;
var cy = canvas.height/2;
var mouseX=10;
var mouseY=10;
var MousePress=false;
var itemsLoaded=0;//当前加载完的图片数
var fadeout = new FadeOut(40);
function MainMenu(item){
itemsLoaded++;//当前加载完的图片数
if(itemsLoaded==4) {
timer=setInterval(start,200);
// start();
}
}
function start(){
ctx.save();
patternMenu=ctx.createPattern(backgroundMenu,"repeat");
ctx.fillStyle = patternMenu;
ctx.fillRect(0,0,canvas.width, canvas.height);
ctx.restore();
ctx.drawImage(sprLogo, canvas.width/2 - sprLogo.width/2 , 80);
ctx.drawImage(sprSplashLogo, 70 , 180);
ctx.textAlign = "start";
ctx.font = "12pt 'Segoe UI Light',Verdana";
ctx.fillStyle = "#eee";
ctx.fillText("HTML.it | Guida Videogame HTML5 di Adriano Tumminelli", 60,canvas.height-20);
ctx.drawImage(sprHTML, 5, canvas.height-55);
ctx.shadowOffsetX = 0;
ctx.shadowBlur = 0;
MouseInsideText("New Game",cx, cy+10,"#eee", "#ea4");
MouseInsideText("Other games",cx, cy+80,"#eee", "#ea4");
fadeout.Update();
// requestAnimFrame(start);
}
function MouseInsideText(str, x, y, col1, col2){
ctx.shadowColor = "#000";
ctx.shadowOffsetX = 1;
ctx.font = "32pt 'PixelFont'"
ctx.textAlign = "center";
ctx.shadowBlur = 3;
var w = ctx.measureText(str).width;//字符串的宽
var h = 30;
var inside = (mouseX > x - w/2 && mouseY > y - h && mouseX < x + w/2 && mouseY < y+4 );
if(inside)//鼠标在文本上时
ctx.fillStyle = col2;
else
ctx.fillStyle = col1;
ctx.fillText(str, x, y);
return inside;
}
function FadeOut(time){//主要就是这个了,在整个界面上绘一个透明矩形实现淡入淡出
this.timeStart = time/2;
this.time = this.timeStart;
this.out = true;
this.Update = function(){
ctx.fillStyle = "#000";
if(this.out){
ctx.globalAlpha = 1 - this.time/this.timeStart;
if(this.time-- <= 0){
this.out = false;
this.time = this.timeStart;
}
}
else{
ctx.globalAlpha = this.time/this.timeStart;
if(this.time-- <= 0){
this.time = this.timeStart;
this.out = true;
}
}
ctx.fillRect(-1,-1,canvas.width+1,canvas.height+1);
ctx.globalAlpha = 1;
}
}
//鼠标移动
canvas.onmousemove=function(e) {
var e = window.event || e
var rect = this.getBoundingClientRect();
mouseX =e.clientX - rect.left;//获取鼠标在canvsa中的坐标
mouseY =e.clientY - rect.top;
}
//鼠标按下
canvas.onmousedown = function(evt){
var evt = window.event || evt;
MousePress=true;
}
canvas.onmouseup = function(evt){//鼠标松开
var evt = window.event || evt;
MousePress=false;
}
</script>
发表评论
-
HTML5 Canvas 旋转的“金字塔”
2015-12-24 13:25 10076效果图: 效果链接:http://www.108js.co ... -
HTML5 canvas 飘扬的五星红旗
2015-12-21 08:56 2457效果图: 效果链接: http://www.108js.co ... -
简单HTML5 Canvas Arrow旋转动画
2015-05-22 08:38 12965效果图: 效果链接: http://www.108js.c ... -
HTML5 Canvas简单透明文字动画
2015-05-22 08:17 7447效果图: 效果链接: http://www.108js.c ... -
一个非常好的HTML5 Canvas焰火效果
2014-12-28 15:56 1623效果图: 点击观看效果:http://www.108js. ... -
《HTML5 Canvas学习笔记(10)》数钱数到手抽筋
2014-12-21 14:01 3264网上看到一个游戏《数钱数到手抽筋》简单的模仿一下。 鼠标拖动或 ... -
HTML5 Canvas学习笔记(9)俄罗斯方块游戏之三(游戏面板)
2014-07-05 07:13 1408接上一遍《HTML5 Canvas学习笔记(8)俄罗斯方块游戏 ... -
HTML5 Canvas学习笔记(8)俄罗斯方块游戏之二(方块)
2014-07-04 13:08 1698接上一遍《HTML5 Canvas学习笔记(7)俄罗斯方块游戏 ... -
HTML5 Canvas学习笔记(7)俄罗斯方块游戏之一(色块)
2014-07-04 10:53 2403在网上看到一个俄罗斯方块游戏: http://www.108j ... -
HTML5 Canvas学习笔记(6)拼图游戏(数字版)
2014-06-28 17:38 2567今天网上发现了一段代码,只有界面,很不错,学习了并完成了逻辑。 ... -
HTML5 Canvas学习笔记(5)游戏得分动画
2014-06-26 17:11 1123效果图: 点击查看效果: http://www.108js ... -
HTML5 Canvas学习笔记(3)加载游戏/动画音乐
2014-06-25 11:20 1701先要准备应付各种浏览器的声音文件,什么.mp3,.ogg ... -
HTML5 Canvas学习笔记(2)菜单高亮显示与像素字体
2014-06-23 23:13 1980看到哪,学到哪,记到哪。见谅,这些笔记就没有顺序和知识上的连贯 ... -
HTML5 Canvas学习笔记(1)处理鼠标事件
2014-06-21 17:48 2988一直在学习HTML5 Canvas相关内容,游戏,动画 ... -
javaScript 广度优先搜索法"自动推箱子"(二)
2014-06-12 09:57 1341接上文: javaScript 广度优先搜索法"自动 ... -
javaScript 广度优先搜索法"自动推箱子"(一)
2014-06-12 09:45 1861用JS写了一个“广度优先搜索法”自动推箱子,理论上无论 ... -
HTML5 Canvas简单淡入淡出游戏启动界面
2014-06-05 12:22 2258欢迎访问博主的网站:http://www.108js.com ... -
HTML5 Canvas贝塞尔曲线动画
2014-05-22 08:35 1462点击这里可以查看动画效果: http://www.108js. ... -
javascript for语句最佳实践
2014-05-22 08:22 599当执行冗长的for语句时,要保持语句块的尽量简洁,例如: 糟 ... -
获取鼠标在HTML5 Canvas中的坐标
2014-05-21 16:43 2445<!DOCTYPE HTML> <html& ...
相关推荐
在“HTML5 Canvas学习笔记(3)加载游戏/动画音乐”这个主题中,我们将深入探讨如何利用Canvas API来加载和播放音频资源,这对于创建交互式游戏和动画至关重要。 1. HTML5 Audio API HTML5提供了Audio元素,它是网页...
这个“html5 canvas填色画游戏代码.zip”压缩包提供了一个基于Canvas的填色游戏,非常适合学习和应用Canvas技术。在这个游戏中,用户可以选择不同的颜色,对预设的图像进行填色,体验类似纸质涂色书的乐趣。 1. **...
2. 利用jQuery的`fadeIn()`和`fadeOut()`方法来实现文字的淡入淡出效果。 3. 可能使用`setTimeout`或`setInterval`来定时改变Canvas上的文字内容或属性,创建变换效果。 4. 通过计算和Canvas的`measureText()`方法,...
4. **jQuery特效**: jQuery的动画效果功能强大,可以轻松创建淡入淡出、滑动等效果。在这个案例中,jQuery可能用于控制丝带的入场、出场动画,以及丝带飘动过程中的平滑变换。 5. **CSS**: CSS(层叠样式表)在这里...
jQuery特效和插件标签暗示这个项目可能使用了一些预封装的功能,例如,jQuery的淡入淡出效果,或者一个专门用于Canvas的jQuery插件,用于更方便地处理Canvas上的绘图操作。 总结来说,这个压缩包提供的代码示例展示...
`jquery特效`标签暗示了这个项目可能不仅仅局限于Canvas,还可能结合了jQuery的其他动画功能,如淡入淡出、滑动等,增强了整体的视觉体验。开发者可能会使用jQuery的选择器来选取特定元素,并应用CSS样式或者执行...
`jquery特效`通常指的是使用jQuery库实现的各种视觉效果,这可能包括淡入淡出、滑动、缩放等。在这个项目中,jQuery可能被用来添加和管理Canvas元素的动画效果,如线条的动态绘制和颜色变化。 `index.html`是项目的...
虽然主要描述的是Canvas特效,但在这个项目中,CSS可能用于设置容器样式,或者配合Canvas做一些额外的视觉增强,如背景、阴影或者五角星出现时的淡入淡出效果。 在压缩包中的"jiaoben6829"可能是源代码文件或一个...
jQuery特效通常指的是利用jQuery库创建的各种视觉效果,包括淡入淡出、滑动、旋转、缩放等。在这个爱心动画中,jQuery可能被用来控制爱心的动画流程,如爱心的出现、移动、消失等效果,通过`.fadeIn()`, `.fadeOut()...
jQuery特效是jQuery库的重要部分,提供了一系列预定义的动画效果,如淡入淡出、滑动等。至于提到的jQuery插件,可能是用于增强Canvas动画功能的第三方组件,例如添加更复杂的时间线控制、更丰富的过渡效果等。 `...
jQuery还提供了便利的动画功能,如`fadeIn()`、`fadeOut()`,这些可能被用于图片的淡入淡出效果。 CSS3特效可能包括过渡(Transitions)、动画(Animations)和3D转换(Transforms)。过渡用于在两个样式之间平滑地...
`jquery特效`可能是指使用jQuery来实现的一些增强用户体验的功能,比如平滑滚动、淡入淡出效果等。如果存在`jquery插件`,则可能是指引入了额外的jQuery扩展,比如用于更方便地处理Canvas绘图的插件,或者用于提升...
最后,`jquery特效`标签表明这个项目不仅仅是简单的Canvas使用,还可能包含了一些基于jQuery的高级动画技术,如淡入淡出、滑动、缩放等,这些特效通常与Canvas结合,为用户带来更加生动的交互体验。 总结来说,这个...
`jQuery特效`是指使用jQuery库创建的各种视觉效果,包括淡入淡出、滑动、动画等。在这个彩虹心形变形动画中,jQuery的动画功能可能被用来控制心形的变形速度和方式,以及颜色过渡的平滑度。 在项目中,`index.html`...
至于`jquery特效`,可能是通过jQuery来实现一些动画效果,比如淡入淡出、平移或旋转。这通常涉及到`fadeIn()`, `fadeOut()`, `animate()`等jQuery方法。 最后,`CSS3特效`可能是指HTML元素的样式,比如边框动画、...
而jQuery特效则可能用于增强页面其他部分的交互性,比如淡入淡出、滑动等效果。 总的来说,这个压缩包提供的是一种使用HTML5 Canvas和jQuery技术实现的动态粒子动画特效。通过理解并解构这些代码,开发者不仅可以...
4. **jQuery特效**:jQuery提供了许多内置的动画效果,如淡入淡出、滑动等。虽然在这个特效中可能没有直接使用jQuery的内置动画,但可能利用jQuery来实现某些交互或准备动画状态。 5. **雪花对象**:在JavaScript中...
然而,jQuery可能被用来添加额外的交互元素或辅助功能,比如淡入淡出背景或者控制粒子动画的开始和结束。 然后,我们来看看Canvas API。Canvas是一个二维绘图上下文,允许开发者使用JavaScript命令来绘制图形。在这...
此外,CSS3还可以实现动画,比如热气球上升、下降的平滑效果,或是分数显示的淡入淡出等。 jQuery是一个广泛使用的JavaScript库,简化了DOM操作、事件处理、动画和Ajax交互。在HTML5热气球游戏中,jQuery可以用来...