aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/games/tutorials/2d_breakout_game_phaser/randomizing_gameplay/index.html
blob: 8642ed4eb7f4d969af06f112985640353a83ba9a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
---
title: Randomizing gameplay
slug: Games/Tutorials/2D_breakout_game_Phaser/Randomizing_gameplay
tags:
  - 2D
  - Beginner
  - Canvas
  - Games
  - JavaScript
  - Phaser
  - Tutorial
translation_of: Games/Tutorials/2D_breakout_game_Phaser/Randomizing_gameplay
---
<div>{{GamesSidebar}}</div><div>{{IncludeSubnav("/en-US/docs/Games")}}</div>

<p>{{Previous("Games/Workflows/2D_Breakout_game_Phaser/Buttons")}}</p>

<div class="summary">
<p><font><font>这是</font><a href="https://developer.mozilla.org/en-US/docs/Games/Workflows/2D_Breakout_game_Phaser"><font>Gamedev Phaser教程</font></a><font> 16中的</font><font></font></font><strong><font><font>16步</font></font></strong><font><font></font><font>您可以在</font><a href="https://github.com/end3r/Gamedev-Phaser-Content-Kit/blob/gh-pages/demos/lesson16.html"><font>Gamedev-Phaser-Content-Kit / demos / lesson16.html</font></a><font>完成本课程后找到源代码</font><font></font></font></p>
</div>

<p><font>我们的游戏似乎已经完成了,但是如果你看起来足够近,你会发现球在整个游戏中都以相同的角度从桨上弹起。</font><font>这意味着每个游戏都非常相似。</font><font>为了解决这个问题,提高可玩性,我们应该使反弹角度更加随机,在本文中我们将介绍一下如何。</font></p>

<h2 id="让篮板更随机"><font><font>让篮板更随机</font></font></h2>

<p><font><font>我们可以根据撞击桨的确切位置来改变球的速度,通过</font><font>使用沿着下方的线路运行功能</font><font>来修改</font></font><code>x</code><font><font>速度</font></font><code>ballHitPaddle()</code><font><font></font><font>现在添加这一行到您的代码,并尝试。</font></font></p>

<pre class="brush: js">function ballHitPaddle(ball, paddle) {
    ball.animations.play('wobble');
    ball.body.velocity.x = -1*5*(paddle.x-ball.x);
}</pre>

<p><font>这有点魔法 - 新的速度越高,桨的中心和球撞到的地方之间的距离就越大。</font><font>此外,方向(左或右)由该值确定 - 如果球击中桨的左侧,则其将向左反弹,而击球右侧将向右反弹。</font><font>最终这样做是因为对某些值进行了一些实验,您可以进行自己的实验,看看会发生什么。</font><font>这当然不是完全随机的,但它确实使游戏玩法变得更加不可预测,因此更有趣。</font></p>

<h2 id="比较你的代码"><font><font>比较你的代码</font></font></h2>

<p>您可以在下面的现场演示中查看本课程的完成代码,并使用它来更好地了解它的工作原理:</p>

<p>{{JSFiddleEmbed("https://jsfiddle.net/end3r/3yds5ege/","","400")}}</p>

<h2 id="概要"><font><font>概要</font></font></h2>

<p><font>你已经完成了所有的课程 - 恭喜你!</font><font>在这一点上,您将了解到Phaser的基础知识和简单2D游戏背后的逻辑。</font></p>

<h3 id="练习跟随"><font><font>练习跟随</font></font></h3>

<p><font><font>你可以在游戏中做更多的事情 - 添加任何你觉得最好的东西,使它更有趣和有趣。</font><font>Phaser提供的无数有用的方法的基本介绍。</font><font>以下是关于如何扩展我们的小游戏的一些建议,让您开始:</font></font></p>

<ul>
 <li><font><font>添加第二个球或桨。</font></font></li>
 <li><font><font>改变每次命中背景的颜色。</font></font></li>
 <li><font><font>更改图像并使用自己的图像。</font></font></li>
 <li><font><font>如果砖块被迅速摧毁,并排排列(或您选择的其他奖金),则可获得额外的奖励积分。</font></font></li>
 <li><font><font>创建不同砖块布局的水平。</font></font></li>
</ul>

<p><font><font>一定要检查越来越多的</font></font><a href="http://examples.phaser.io/"><font><font>示例</font></font></a><font><font>列表</font><font></font></font><a href="http://docs.phaser.io/"><font><font>官方文档</font></font></a><font><font></font><font>如果您需要任何帮助</font><font>,请访问</font></font><a href="http://www.html5gamedevs.com/forum/14-phaser/"><font><font>HTML5 Gamedevs论坛</font></font></a><font><font></font></font></p>

<p><font><font>您也可以返回</font></font><a href="https://developer.mozilla.org/en-US/docs/Games/Workflows/2D_breakout_game_Phaser"><font><font>本教程系列的索引页</font></font></a><font><font></font></font></p>

<p>{{Previous("Games/Workflows/2D_Breakout_game_Phaser/Buttons")}}</p>