(初学编程100个代码)(小程序开发一个多少钱啊)

采用面向对象思想设计超级马里奥游戏人物

采用面向对象思想设计超级马里奥游戏人物(示意图)

怎么用通过按键,来控制图片的位置

这个小游戏,用面向对象会很方便,不用面向对象会很麻烦很麻烦,比如以后要讲解的坦克大战的游戏,要是用纯的面向过程或函数式的方式写,那维护起来会非常的麻烦。

1.游戏分析:

(1)看看如何通过按钮来控制mario的位置

(2)设计相关的对象(Mario x y ...)马里奥,有横纵坐标

2.★案例代码

1)css

Event对象

onclick属性:当用户点击某个对象时调用的事件句柄

素材

mario.css

类选择器

.gamediv{

width: 500px;

height: 400px;

background-color: pink;

}

/*表格样式*/

.controlcenter{

width: 200px;

height: 200px;

border: 1px solid red;

}

2)js

mario.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<link rel="stylesheet" type="text/css" href="mario.css" />

<head>

<script language="javascript">

//设计Mario类

function Mario(){

初始位置

this.x=0;

this.y=0;

//移动

一般都是这样的顺序:

顺时针 0->上 1->右 2->下 3->左

this.move=function(direct){

switch(direct){

case 1:

//window.alert("mario 右移动");

① 这里为了改变 img的left 和top,我们需要得到 img元素。需要用到javascript的DOM编程:获取html元素,这里是img 元素

② 不会dom编程,无法作出效果

③ 获取元素,这个东西就代表图片,在js中就是一个对象

④ 这个id不是id选择器,而是对象

var mymario=document.getElementById('mymario');

//取出 img 的top值

//window.alert(mymario.style.top);

① 是50px一个字符串,不能直接使用

② 怎样去掉50px的px

③ 保存一下这个值

var top=mymario.style.top;

px占据两个,即lenght-2

从0开始,去掉两个

现在还是串,要转成数值才能加减

top=parseInt(top.substr(0,top.length-2));

开始移动2px,看怎么拼接的,字符串和数值之间的转换

加完了之后,还要转成字符串

mymario.style.top=(top+2)+"px"; //此时mario就可以向下移动了,把上面的打印调试输出代码都注释掉

break;

}

}

}

//创建Mario对象

面向对象思想

var mario=new Mario();

//全局函数,这边也可以直接调用mario.move()方法,和全局方法的调用window.marioMove()效果一样

function marioMove(direct){

switch(direct){

case 1:

★①全局对象,②全局变量,③全局函数哪里都可以使用

mario.move(direct);

break;

case 0:

break;

case 2:

break;

case 3:

break;

}

}

</script>

</head>

3)html

<body>

<div class="gamediv">

这个id不是id选择器,而是对象

<img id="mymario" src="mario.jpg" style="left:100px; top:50px; position:absolute;width:50px" /> <!--用到了绝对定位-->

</div>

<table border="1px" class="controlcenter">

<tr>

<td colspan="3">游戏键盘</td>

</tr>

<tr>

<td>**</td>

① 特殊字符可使用搜狗,或者在word里面找一个,复制到代码里

② js事件驱动机制

③ 点击的时候响应事件,会去调用对应js函数

④ 一般是全局函数

⑤ 可以传递参数,用引号引用,是字符串,不用的话是数值

<td><input type="button" value="↑↑" οnclick="marioMove(1)" /></td>

<td>**</td>

</tr>

<tr>

<td><input type="button" value="←←" /></td>

<td>**</td>

<td><input type="button" value="→→" /></td>

</tr>

<tr>

<td>**</td>

<td><input type="button" value="↓↓" /></td>

<td>**</td>

</tr>

</table>

</body>

</html>

再要求:

(1)mario碰到边界给一个提示

(2)mario可以去找另外一个物体,比如蘑菇

可以根据视频标题,去搜索网上的笔记

声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者Java邦邦所有,原文出处。若您的权利被侵害,请联系删除。

本文标题:(初学编程100个代码)(小程序开发一个多少钱啊)
本文链接:https://www.51qsb.cn/article/m8pgg.html

(0)
打赏微信扫一扫微信扫一扫QQ扫一扫QQ扫一扫
上一篇2023-01-30
下一篇2023-01-30

你可能还想知道

发表回复

登录后才能评论