模板架构(简述)
在前面的工作台中,你会发现所有游戏的加载页和开始页都是一样的,包括工作台的配置项,以及游戏实际体验过程中,各个游戏开始按钮,活动规则样式等等,这些都是一样的。
这是因为在实际开发过程中,早已经抽离出了一套公共的组件库,比如加载页|开始页,以及像活动规则这种各个模板都通用的组件,我们都已经抽离出来了。
每一份游戏都由index.php
|index.js
组成,在index.php
中,你可以想象有如下结构
<body>
<div class="game-tpl-container">
<!-- 活动页的游戏结构 -->
<div id="game_div"></div>
<!-- 通用组件的结构 -->
<?php require_once('main.php'); ?>
</div>
<script>
// 通用组件的事件注册
hwsdk.init();
</script>
<script>
// 游戏逻辑
</script>
</body>
其中的main.php
负责加载游戏的其他页面,诸如开始页等等HTML结构都是在这里面加载进来。然后我们活动页(即是每个模板的游戏逻辑)的HTML结构则写在game_div
里面。
至于JS方面,在hwsdk.init()
中,会给我们的通用页面结构,即前面的main.php
绑定通用事件。比如点击活动规则按钮会弹窗出来等。我们游戏内部的逻辑,比如2048的游戏逻辑,九宫格抽奖的逻辑代码,则写在下一个script
标签中。
如果你看我们现有平台上的模板代码,就会发现整体的架构类似于上面提到的。一个新的模板,或者新的玩法,我们只需要关注活动页里面的游戏逻辑以及活动页的内容展示。而像开始页结束页这些,我们无需关心,只需要把相关的通用代码引进来便可以了。
具体的模板代码后面的内容会讲到,也会详细分析。