HTML5画布行星图像映射
来源:互联网 发布:js取绝对值函数 编辑:程序博客网 时间:2024/05/16 01:30
说明:鼠标行星看到他们的名字和使用复选框来显示和隐藏地图叠加。
<!DOCTYPE HTML><html> <head> <style> body { margin: 0px; padding: 0px; font-family: Calibri; } #page { position: relative; width: 580px; height: 253px; } #controls { position: absolute; right: 10px; top: 10px; z-index: 99999; } label { color: white; vertical-align: top; } </style> </head> <body> <div id="page"> <div id="container"></div> <div id="controls"> <input type="checkbox" id="checkbox"> <label> Show map overlay </label> </div> </div> <script src="http://d3lp1msu2r81bx.cloudfront.net/kjs/js/lib/kinetic-v4.7.4.min.js"></script> <script> function writeMessage(message) { text.setText(message); messageLayer.draw(); } var stage = new Kinetic.Stage({ container: 'container', width: 578, height: 251 }); var layer = new Kinetic.Layer(); var text = new Kinetic.Text({ x: 10, y: 10, fontFamily: 'Calibri', fontSize: 24, text: '', fill: 'white' }); var planetsLayer = new Kinetic.Layer(); var circlesLayer = new Kinetic.Layer(); var messageLayer = new Kinetic.Layer(); var planets = { Mercury: { x: 46, y: 126, radius: 32 }, Venus: { x: 179, y: 126, radius: 79 }, Earth: { x: 366, y: 127, radius: 85 }, Mars: { x: 515, y: 127, radius: 45 } }; var imageObj = new Image(); imageObj.onload = function() { // draw shape overlays for(var pubKey in planets) {( function() { var key = pubKey; var planet = planets[key]; var planetOverlay = new Kinetic.Circle({ x: planet.x, y: planet.y, radius: planet.radius }); planetOverlay.on('mouseover', function() { writeMessage(key); }); planetOverlay.on('mouseout', function() { writeMessage(''); }); circlesLayer.add(planetOverlay); }()); } var checkbox = document.getElementById('checkbox'); checkbox.addEventListener('click', function() { var shapes = circlesLayer.getChildren(); // flip show property for(var n = 0; n < shapes.length; n++) { var shape = shapes[n]; var f = shape.getFill(); shape.setFill(f == 'red' ? null : 'red'); } circlesLayer.draw(); }, false); messageLayer.add(text); stage.add(planetsLayer); stage.add(circlesLayer); stage.add(messageLayer); // draw planets var planetsContext = planetsLayer.getContext(); planetsContext.drawImage(imageObj, 0, 0); }; imageObj.src = 'http://www.html5canvastutorials.com/demos/assets/planets.png'; </script> </body></html>
0 0
- HTML5画布行星图像映射
- HTML5画布图像数据教程
- HTML5画布上拖拽一个图像
- HTML5画布图像尺寸教程
- HTML5 Canvas(画布)图像处理
- HTML5画布kineticjs灰度图像教程
- HTML5画布Three.js图像纹理
- HTML5画布扩大图像在盘旋
- HTML5画布画保存为一个图像
- HTML5画布加载图像数据的URL
- HTML5画布获得图像数据的URL
- HTML5画布阻力、下降和调整图像
- HTML5画布图像加载程序教程
- HTML5画布灰度图像颜色教程
- HTML5画布像素图像的焦点
- HTML5画布转化图像颜色教程
- HTML5画布加载图像数据的URL
- HTML5画布画保存为一个图像
- 合唱队形
- iOS 健值编码(KVC)与反射机制的研究
- HTML5画布沿弧路径文本
- 原谅我
- Credential Provider
- HTML5画布行星图像映射
- 64位win7下vc2010如何调用matlab2012a中生成的dll文件
- iOS 中由谓词引发的正则血案正在破案中
- 不高兴的津津
- trylock的返回值
- Python自动化测试 (一) Eclipse+Pydev 搭建开发环境
- 花生采摘
- ubuntu12.04 虚拟机编译vlc2.1.2
- 【Java重构系列】重构31式之搬移方法