问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么用game maker做打地鼠小游戏

发布网友 发布时间:2022-04-20 15:24

我来回答

5个回答

懂视网 时间:2022-04-20 19:21

本文主要分享了js实现打地鼠小游戏的示例代码。具有很好的参考价值,下面跟着小编一起来看下吧

话不多说,请看代码:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>打地鼠</title>
 <style type="text/css">
 #content {
 width:960px;
 margin:0 auto;
 text-align:center;
 margin-top:40px;
 }
 #form1 {
 margin:20px 0;
 }
 table {
 margin:0 auto;
 cursor:url(http://cdn.attach.qdfuns.com/notes/pics/201702/12/115915n79d7hvffengpdxe.png),auto;
 }
 td {
 width:95px;
 height:95px;
 background:#00ff33;
 }
 </style>
 <script type="text/javascript">
 var td = new Array(), //保存每个格子的地鼠
 playing = false, //游戏是否开始
 score = 0, //分数
 beat = 0, //鼠标点击次数
 success = 0, //命中率
 knock = 0, //鼠标点中老鼠图片的次数
 countDown = 30, //倒计时
 interId = null, //指定 setInterval()的变量
 timeId = null; //指定 setTimeout()的变量
 //游戏结束
 function GameOver(){
 timeStop();
 playing = false;
 clearMouse();
 alert("游戏结束!
 你获得的分数为:"+score+"
 命中率为:"+success);
 success = 0;
 score = 0;
 knock = 0;
 beat = 0;
 countDown = 30;
 }
 //显示当前倒计时所剩时间
 function timeShow(){
 document.form1.remtime.value = countDown;
 if(countDown == 0){
 GameOver();
 return;
 }else{
 countDown = countDown-1;
 timeId = setTimeout("timeShow()",1000);
 }
 }
 //主动停止所有计时
 function timeStop() {
 clearInterval(interId);
 clearTimeout(timeId); 
 }
 //随机循环显示老鼠图片
 function show(){
 if(playing){
 var current = Math.floor(Math.random()*25);
 document.getElementById("td["+current+"]").innerHTML = '<img src="http://cdn.attach.qdfuns.com/notes/pics/201702/12/115915w6tluu1gq8l1b54h.png">';
 setTimeout("document.getElementById('td["+current+"]').innerHtml=''",3000); //使用 setTimeout()实现3秒后隐藏老鼠图片
 }
 }
 //清除所有老鼠图片
 function clearMouse(){
 for(var i=0;i<25;i++){
 document.getElementById("td["+i+"]").innerHTML="";
 }
 }
 //点击事件函数,判断是否点中老鼠
 function hit(id){
 if(playing == false){
 alert("请点击开始游戏!");
 return;
 }else{
 beat += 1;
 if(document.getElementById("td["+id+"]").innerHTML != ""){
 score += 1;
 knock += 1;
 success = knock/beat;
 document.form1.success.value = success;
 document.form1.score.value = score;
 document.getElementById("td["+id+"]").innerHTML = "";
 }else{
 score += -1;
 success = knock/beat;
 document.form1.success.value = success;
 document.form1.score.value = score;
 }
 }
 }
 //游戏开始
 function GameStart(){
 playing = true;
 interId = setInterval("show()",1000); 
 document.form1.score.value = score;
 document.form1.success.value = success;
 timeShow();
 } 
 </script>
</head>
<body>
 <p id="content">
 <input type="button" value="开始游戏" onclick="GameStart()" />
 <input type="button" value="结束游戏" onclick="GameOver()" />
 <form name="form1" id="form1">
 <label>分数:</label>
 <input type="text" name="score" size="5">
 <label>命中率:</label>
 <input type="text" name="success" size="10">
 <label>倒计时:</label>
 <input type="text" name="remtime" size="5">
 </form> 
 <table>
 <tr>
 <td id="td[0]" onclick="hit(0)"></td> 
 <td id="td[1]" onclick="hit(1)"></td>
 <td id="td[2]" onclick="hit(2)"></td>
 <td id="td[3]" onclick="hit(3)"></td>
 <td id="td[4]" onclick="hit(4)"></td>
 </tr>
 <tr>
 <td id="td[5]" onclick="hit(5)"></td>
 <td id="td[6]" onclick="hit(6)"></td>
 <td id="td[7]" onclick="hit(7)"></td>
 <td id="td[8]" onclick="hit(8)"></td>
 <td id="td[9]" onclick="hit(9)"></td>
 </tr>
 <tr>
 <td id="td[10]" onclick="hit(10)"></td>
 <td id="td[11]" onclick="hit(11)"></td>
 <td id="td[12]" onclick="hit(12)"></td>
 <td id="td[13]" onclick="hit(13)"></td>
 <td id="td[14]" onclick="hit(14)"></td>
 </tr>
 <tr>
 <td id="td[15]" onclick="hit(15)"></td>
 <td id="td[16]" onclick="hit(16)"></td>
 <td id="td[17]" onclick="hit(17)"></td>
 <td id="td[18]" onclick="hit(18)"></td>
 <td id="td[19]" onclick="hit(19)"></td>
 </tr>
 <tr>
 <td id="td[20]" onclick="hit(20)"></td>
 <td id="td[21]" onclick="hit(21)"></td>
 <td id="td[22]" onclick="hit(22)"></td>
 <td id="td[23]" onclick="hit(23)"></td>
 <td id="td[24]" onclick="hit(24)"></td>
 </tr>
 </table>
 </p>
</body>
</html>

流程设计:

  • 点击“开始游戏”按钮游戏开始,否则将提示“请点击开始游戏”字样

  • 分数、命中率显示重置为“0”,倒计时开始(默认为30秒)

  • 老鼠图片不断显示、隐藏,玩家可点击鼠标左键进行游戏

  • 当30秒倒计时结束或者玩家主动点击“结束按钮”时,游戏结束并显示游戏结果

  • 【相关推荐】

    1. 免费html在线视频教程

    2. html开发手册

    3. php.cn原创html5视频教程

    热心网友 时间:2022-04-20 16:29

    去百度的gamemaker吧丫.置顶的帖子里有基础中文教程及GML语言手册下载的.这两本先看懂才算是了解GM的使用方法拉.接着就要找写范例来学习了.
    当然如果你一些VB.C的基础语言都不会.那就得先补习那些东西拉...既然你是电脑课的.那应该会吧...

    打地鼠游戏...我写下大致思路.GM吧里有很多教程.貌似够用的样子.
    首先素材.
    画几种地鼠钻出来的动态GIF.可以用FW做.也可以分别画出静态的几张然后分别导入GM``
    画地鼠被砸后眩晕的动态GIF.
    画砸中后会减生命的生物.
    画表示生命的图像.如爱心什么的.
    画有9个洞洞的背景.
    画个锤子砸下的动态GIF.
    然后导入成精灵.背景.再制作出锤子.地鼠的对象.
    然后你要解决以下问题.
    首先,让一个锤子的实例跟随鼠标.
    具体方法可参考GM吧里的帖子"[脚本]鼠标拖拽实例"地址如下.
    http://tieba.baidu.com/f?kz=575116883
    当然还是得修改一些的.你得学会怎样参考别人的脚本拉.
    你先把脚本复制粘贴到一个对象里.然后会发现有些字是黑色的细体字.有些是粗体.有些变成了蓝色...
    黑色细字没有特殊含义.是制作人自定的变量.
    粗体是一些本身在C语言中就有特殊作用的语句.蓝色字是GM里事先帮你定义好的特殊变量.贴吧资料贴里的GML语言手册有详细讲解.
    绿色的句子是以//开头的.意思是备注.在语句中不起作用.
    还有种是紫色的.上面的脚本里貌似没有会变成紫色的字.不过紫色字带表的是那些精灵.对象之类的素材名称.为了避免混淆各类素材.最好在每个素材前加上前缀.比如地鼠精灵素材可写成spr_hamster,地鼠的对象写成obj_hamster拉.
    你要做的是先看懂脚本里所有语句的意思.然后就能按照自己需求改了.

    接着要解决的是地鼠出现再消失的位置.这个用随机变量choose(x1,x2...)应该可以解决吧.就不多说拉0.0.

    再然后要解决砸中地鼠后的图片效果.这个效果要在地鼠对象里做.
    全局鼠标按下之后.锤子要作出砸下的样子.这个跟act游戏中按下某键后主角的腿踢出一记的算法应该差不多.可以参考一些act游戏制作的教程.
    鼠标按在地鼠身上后.地鼠要作晕厥状.方法也是一样的.
    会减生命的物种到此跟地鼠的制作方法一样.

    再接着要算分.砸中什么地鼠得多少分.砸中什么生物扣一颗生命...
    算分可以用脚本和变量赋值来控制.再定义一个全局累加变量.如global.score
    扣生命可定一个全局计数器和解散实例.

    剩下就是you win或game over了.
    你可以决定之前定义的累加变量等于几的时候赢.
    之前定义的计数器为0时game over.

    嗯就是这么回事了~你要确定你要解决的问题是什么然后再一一解决.当然你也可以边做边发现问题边解决.
    总之加油拉.不懂可以在贴吧里问.
    当然如果你自己连做都不做.
    那贴吧里就不会有人帮你咯.
    我学GM还没几个星期...所以虽然以上问题貌似都能解决.但是经常兜圈子0.0`、、所以还是最好去贴吧里看看拉.免得你被我带坏了思路也绕弯子拉...

    汗`、、别看这么多.都不是复制哒哦```
    我耐心打的.希望你也耐心看下拉0.0``、、、

    热心网友 时间:2022-04-20 17:47

    去多玩啊 多玩的资料很不错的 我不懂的时候也都是在那看的

    不懂地址 自己百度搜索 多玩

    热心网友 时间:2022-04-20 19:22

    只能建议你多多参看它的帮助文档,有语法的就要先学习。
    或者去找一些源代码看看。参考参考
    做个游戏没那么容易的,希望你早日成功。

    热心网友 时间:2022-04-20 21:13

    推荐你来gamemaker百度贴吧,里面有很多有用的资料,也有很多大神
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    荣耀MagicVs2怎么使用更省电荣耀MagicVs2使用更省电方法【详解】_百度... 荣耀MagicV2怎么开启应用通知荣耀MagicV2开启应用通知方法【步骤... 面部脂溢性皮炎能根治吗 脸部皮炎能根治吗 清蒸螃蟹蒸多长时间 清蒸螃蟹做法英语介绍过程 关于退档问题。我是湖南文科生,今年分数583,正好压一本线。 ...背上有很多痘痘,用了很多药,也没感觉有什么效果,怎么才可以去掉啊... ...好多年了,还有好多痘印,用了很多药物均没有效果,怎么办哦?_百度知 ... 脸上总是起痘痘,起了几年了,在医院也开过药,也用过祛痘的洗面奶,可是... 英语单词复习打地鼠ppt怎么制作 华为nova5z128G多少钱? 如何制作打地鼠flash动画 ppt打地鼠游戏怎么做 ppt怎么设计打地鼠游戏 手工制作打地鼠的做法与步骤 大神快来 如何使用vb制作一个简单的打地鼠游戏?最... 华为nova5i8 128,1900元贵吗? 华为5i6 128多少钱一部` HONOR MagicWatch 2 抬腕亮屏不灵敏? 华为gt2手表如何省电 华为手表抬手腕不显示怎么设置 华为手环翻腕亮屏不那么灵敏是怎么回事啊? 华为gt2表盘不亮显示爱心 华为gt2可以触屏唤醒吗 华为手表gt2亮屏时闪 gt2抬手不亮屏,怎么回事 华为P20怎么开启抬手亮屏 华为手表新款watch+gt2pro抬腕不亮屏 HUAWEI WATCH GT 2 抬腕不亮屏? 用flash制作一个打地鼠游戏,请高手指教 买了华为nova5i感觉好后悔,同学们都说是辣鸡手机... Flash制作打地鼠游戏,几个问题。 华为nova5i怎么念啊,买了个nova5i额手机,别人问... PPT可以做哪些游戏 有什么傻瓜式h5游戏制作工具 网页游戏打地鼠小游戏的脚本如何制作 VB制作打地鼠游戏 按键精灵 如何自动打地鼠(有4个不一样的地鼠) 老师打地鼠式抽背课文太有爱,你们老师有哪些有爱... 用storylinek可以制作哪些游戏 音频提取器提取的音乐怎么使用 腾讯vip会员怎么登入两个手机 腾讯视频两台手机怎么登陆 腾讯视频会员怎样登录两个苹果手机 请知道朋友回答一下,一个腾讯会员QQ帐号 ,如何同... 腾讯视频QQ会员怎么在两台手机上登陆 一个腾讯视频会员,(QQ的,)可以多个手机同时登... 腾讯视频里的微信账号登录,可不可以同时登录在两... 腾讯会员如何用其他手机登录