下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922
论坛 >移动开发 >JS游戏开发 可移动地图的实现

JS游戏开发 可移动地图的实现

一路风景都看透发布于 2016-01-18 12:24查看:1120回复:3

一、前言

这一讲的内容很简单,大家理解起来会更快。因此我只对重点加以分析,其他的就轮到大家思考哦!首先来说,我对游戏开发可以算是不怎么深入,因为现在的程序员爱用canvas,我却就只会拿几个div凑和。不过没关系,因为做出来的同样是游戏。哈!废话最近有点多,望大家原谅。接下来请看代码解析。

二、代码讲解

今天调一下讲解顺序,先看代码后看图片:

  1. var subtractedMargin = 0;  

  2. var subtractedMarginL = 0;  

  3. var mousedown = 0;  

  4. var toright;  

  5. var toleft;  

  6. var todown;  

  7. var toup;  

  8. window.onmouseup = function(){  

  9. mousedown = 0;  

  10. clearInterval(toright);  

  11. clearInterval(toleft);  

  12. clearInterval(todown);  

  13. clearInterval(toup);  

  14. }  

  15. function mapMove(direction)  

  16. {  

  17. switch(direction){  

  18. case "down":  

  19. subtractedMargin -= 15;  


  20. $("#ID_IMG_MAP").animate({marginTop: subtractedMargin + "px"}, 120);            

  21. break;          

  22. case "up":  

  23. subtractedMargin += 15;  

  24. $("#ID_IMG_MAP").animate({marginTop: subtractedMargin + "px"}, 120);              

  25. break;          

  26. case "right":  

  27. subtractedMarginL -= 15;  

  28. $("#ID_IMG_MAP").animate({marginLeft: subtractedMarginL + "px"}, 120);          

  29. break;      

  30. case "left":  

  31. subtractedMarginL += 15;  

  32. $("#ID_IMG_MAP").animate({marginLeft: subtractedMarginL + "px"}, 120);          

  33. break;  

  34. }  

  35. if(subtractedMarginL < -415){  

  36. clearInterval(toright);  

  37. clearInterval(toleft);  

  38. }  

  39. if(subtractedMarginL > -20){  

  40. clearInterval(toright);  

  41. clearInterval(toleft);  

  42. }  

  43. if(subtractedMargin < -640){  

  44. clearInterval(todown);  

  45. clearInterval(toup);  

  46. }  

  47. if(subtractedMargin > -20){  

  48. clearInterval(todown);  

  49. clearInterval(toup);  

  50. }  

  51. }  

  52. $("body").ready(function(){  

  53. $("#ID_DIV_TORIGHT").mousedown(function(){  

  54. mousedown = 1;  

  55. if(subtractedMarginL > -415 && mousedown == 1){  

  56. mapMove("right");  

  57. toright = setInterval(function(){mapMove("right");}, 120);  

  58. }  

  59. });  

  60. $("#ID_DIV_TOLEFT").mousedown(function(){  

  61. mousedown = 1;  

  62. if(subtractedMarginL < -20 && mousedown == 1){  

  63. mapMove("left");  

  64. toleft = setInterval(function(){mapMove("left");}, 120);  

  65. }  

  66. });  

  67. $("#ID_DIV_TODOWN").mousedown(function(){  

  68. mousedown = 1;  

  69. if(subtractedMargin > -640 && mousedown == 1){  

  70. mapMove("down");  

  71. todown = setInterval(function(){mapMove("down");}, 120);  

  72. }  

  73. });  

  74. $("#ID_DIV_TOUP").mousedown(function(){  

  75. mousedown = 1;  

  76. if(subtractedMargin < -20 && mousedown == 1){  

  77. mapMove("up");  

  78. toup = setInterval(function(){mapMove("up");}, 120);  

  79. }  

  80. });  

  81. });

复制代码

当大家看到本文题目时肯定不大了解题目的含义,因为太抽象了。现在做一下解释:可移动是代表可以向四面八方走动,地图就是地图,可以是世界地图,中国地图,游戏地图。。。反正必须是一张图。在此多说了两句,不过没关系,因为了解情况比不知庐山真面目要好得多。

接下来我把html代码再公布出来,因为这次html代码的重要性很大:



  1. SLG  

















  • 复制代码


    收藏(0)0
    查看评分情况

    全部评分

    此主贴暂时没有点赞评分

    总计:0

    回复分享

    共有3条评论

    发布新贴
    • 慧星的那一夜
    • MK
    • 药师
    • IT宅男
    • mr jack
    • YUI
    • Mr ken
    • cappuccino
    • 课课家技术团队1

    移动帖子x

    移动到: