Impact 主题(一):安装与启动
安装 尽管用 Impact 写的游戏可以脱机工作,但大多数浏览器都不允许。这些浏览器由于同源策略的缺陷,拒绝访问某些功能(在 file://game/lib/ 下的文件与在 file://game/ 下的文件不被认为是在同一个“域”下)。 Opera 是个显著的例外。 此外,Weltmeister 关卡编辑器使用一些 .php 脚本来加载和保存关卡,列出目录的内容。Kilofox.Net 长话短说,您需要一个网页服务器。说到网页服务器,并不意味着是一个单独的服务器计算机,它只是你电脑里的一个提供 web 服务的程序。如果您使用的是 MacOSX ,您就已经拥有网页服务器了,也安装了 PHP ,只需启用它。在 Windows 中,您可以安装 Apache 和 PHP。这不是很复杂。如果您使用的是 Linux,那么您应该是个电脑虫,完全可以自己配置出来。^_^ 如果你想手动安装 Apache 和 PHP,需要帮助,请问谷歌。Kilofox.Net 现在,你已经有网页服务器了,PHP 也运行了,对吧?好!不仅要把 Impact 解压到网页服务器的根目录下,还要让你的浏览器指向 http://localhost/ 。您应该看到了一个目录列表,包括您刚刚创建的 impact/ 子目录。试着通过http://localhost/impact/weltmeister.html 加载 Weltmeister 。载入后应该没有任何错误。Kilofox.Net 如果有错误信息,你应该在浏览器控制台里查看。如果你不知道去哪里找错误控制台,往下读。 其他解决方案:
设置工作环境
现在你只需要一个文本编辑器来编辑你的源文件。如果你是自虐型的,Windows 的记事本都可以。然而,使用支持语法高亮的编辑器将使您生活得更轻松。 我使用的是 Komodo Edit,基本上是 Komodo IDE 的免费版本。不用看它的名字,Komodo Edit 还是一种 IDE。它真的很棒,可以用在 Windows、MacOSX 和 Linux 上。 如果你只是想要一个轻量级的编辑器,我可以推荐 SciTE for Windows 和 Linux。它还可以用在 MacOSX 上,但是设置它有点麻烦。 对于 MacOSX ,听说 BBEdit 和 TextMate 大概是“最好”的编辑器。Kilofox.Net 这些只是根据我个人的经验提出的一些建议。不要信任我。请随意到处看看,尝试不同的编辑器和 IDE。 目录结构
复制代码 您的所有游戏资源,比如图像、声音和音乐,都应放在 media/ 目录下。Kilofox.Net lib/ 目录存放所有的 JavaScript 文件。lib/impact/ 存放 Impact 引擎本身。 HTML 文件 最基本的 HTML 页看起来类似这样:Kilofox.Net
复制代码 当然,这个页可以用后来的内容(文字、链接、图像等)进一步扩展,就像其他 HTML 页一样。也可以使用 CSS 样式。我在这儿真的不能再详细说了,因为这本身就是一个庞大的话题。但是,这个基本的 HTML 页确实是你的游戏开发工作所需要的全部。 请注意,这个 HTML 页只引用了两个 JavaScript 文件:引擎和游戏主脚本。其他的所有 JavaScript 文件会被这两个文件自动包含进来。Kilofox.Net 在发布您的游戏之前,也可以把所有的 JavaScript 烘焙到一个(压缩的)文件中。这将大大缩短你的游戏的初始加载时间。然而,为方便开发,最好是让文件分开,有一个更好地综览。更多信息,请参阅烘焙。 您的游戏所需的所有图像和声音文件,也将通过 JavaScript 动态加载。Impact 的预加载,确保在游戏开始之前,所有的资源都被加载进来。Kilofox.Net Impact 自带一个默认的 index.html ,用来加载 lib/game/game.js 文件。 weltmeister.html 用来加载编辑器。更多信息,请查看 Weltmeister 编辑器的介绍。 模块 相反,Impact 的源代码被组织成模块。一个模块定义通常看起来类似这样:Kilofox.Net
复制代码 模块名“game.my-file”直接对应文件名。因此,这个模块位于 lib/game/my-file.js。同样,在 requires() 方法中列出的模块将分别从 lib/impact/game.js、 lib/impact/image.js 和 lib/game/other-file.js 载入。这些必需的文件会在模块主体(传递给 .defines() 的函数)执行之前被加载。你可以”ig 核心“参考资料中有关模块的部分。 Impact 是如何工作的? “你的东西”,在大多数情况下,是 Impact 的一个基类的子类。最重要的一个就是 ig.Entity 类。游戏世界中的每一个对象,都将是 ig.Entity 的一个子类。Kilofox.Net 只要你启动你的游戏,Impact 就会建立一个调用 ig.system.run() 方法的时间间隔,每秒钟60次。这个方法做一些看家的东西,然后调用你的游戏的 run() 方法(默认情况下,只调用它自身的 update() 和 draw() )。 ig.Game 的 draw() 方法是很无聊的,它只是清除屏幕,在每一个背景层和实体上调用 draw()。 update() 方法更新背景层的位置(这是它感兴趣的地方),在每个实体上调用 update() 。实体默认的 update() 方法,是根据它的物理属性(位置、速度、反弹力等)移动,并且把游戏的碰撞地图也考虑进去。Kilofox.Net 在所有的实体更新完成后,游戏的 .checkEntities() 方法被调用。这个用来解决所有的动态碰撞,也就是实体与实体的碰撞。如果它与另一个实体重叠,而且“希望”检查,它还调用一个实体的 .check() 方法(更多详细信息,请参阅”类引用“)。 您可以在自己的 ig.Entity 和 ig.Game 子类中重写这些方法——您可以提供自己的逻辑,然后,如果你喜欢,可以用 this.parent() 调用原有方法。Kilofox.Net 记住,所有这一切都发生在每一帧上。那就是(如果浏览器能够跟上的话)每秒60次。 |
Impact 主题(一):安装与启动相关推荐
- 分布式消息队列RocketMQ(一)安装与启动
分布式消息队列RocketMQ 一.RocketMQ简介 RocketMQ(火箭MQ) 出自于阿里,后开源给apache成为apache的顶级开源项目之一,顶住了淘宝10年的 双11压力 是电商产品的 ...
- Hexo系列 | Hexo安装、启动
目录 前言 一.Hexo是什么? 二.安装node.js 三.安装Git 四.检查是否安装成功 五.Hexo安装.启动 前言 用Hexo框架搭建个人博客,记录搭建过程 个人博客效果 一.Hexo是什么 ...
- Jupyter Notebook主题皮肤安装设置
Jupyter Notebook主题皮肤安装设置 主题皮肤库安装 pip install jupyterthemes 主题皮肤库命令 Jupyter Notebook主题皮肤库都是(jt)开头,后面紧 ...
- linux桌面主题包安装,Linux桌面主题GNOME安装实例
一.主题下载本文引用地址:http://www.eepw.com.cn/article/201609/304594.htm 以苹果主题为例请到下载MacOS-X Aqua Theme 主题.分别有三个 ...
- 客快物流大数据项目(八):Docker的安装和启动
目录 Docker的安装和启动 一.服务器规划 二.安装Docker 1.验证Linux内核版本 <
- vmware workstation 安装esx 启动vt功能
vmware workstation 安装esx 启动vt功能,支持64bit虚拟机,如下所示: 转载于:https://blog.51cto.com/auqf12/1293587
- windows10下postgreSQL 下载、安装、启动、关闭
windows10下postgreSQL 下载.安装.启动.关闭 下载 安装 l设置密码和端口,一直next直到安装完成 环境变量
- [PXE] Linux(centos6)中PXE 服务器搭建,PXE安装、启动及PXE理论详解
本篇blog主要讲述了[PXE] linux(centos)PXE无盘服务器搭建,安装,启动及pxe协议详解 , Kickstart (PXE+DHCP+TFTP+HTTP). PXE环境概述 作为中 ...
- Windows服务的安装,启动,停止和卸载
直接贴代码如下 public class RunServices{/// <summary>/// 安装并启动服务/// </summary>/// <param nam ...
- Oracle 11g 基于CentOS7安装并启动em
2019独角兽企业重金招聘Python工程师标准>>> Oracle 11g 基于CentOS7安装并启动em 1.可以在虚拟机或者服务器上安装centos,具体过程省略,建议使用最 ...
最新文章
- 拼团小程序源码_纯小白如何做一个摄影电商拼团小程序?
- kdbg调试linux汇编,Ubuntu 16.04安装Kdbg替代Insight实现汇编的调试
- Sklearn 0.21 中文文档校对活动 | ApacheCN
- JDBC学习总结4-------简化DAO的写法
- 微信小程序 获取cookie 以及设置 cookie
- 如何使用Origin轻松绘制三点线段图
- java网页保存成pdf_JavaScript+Java实现HTML页面转为PDF文件保存的方法
- 在mysql中unique唯一索引的作用_mysql唯一索引和unique
- 运算放大器---输入偏置电流(IB)
- FMS4.5限制连接数
- Workman使用记录----
- 学生鲜花网页设计作品静态HTML网页模板源码 大学生鲜花商城网站制作 简单鲜花网站网页设计成品
- BZOJ 1251 序列终结者 Splay
- 使用D3D8实现2D图形显示技术
- 全球最严立法限塑令,会带来什么?
- python爬虫之爬取起点中文网小说
- Water Sensor水位传感器学习笔记
- 芯通信EC616的NB-IOT模组SCP5资料
- log4j日志文件乱码问题的解决方法
- 计算机桌面蓝字,电脑桌面上的图标都变成蓝色的了怎么办? – 手机爱问
热门文章
- 网络安全菜鸟学习之漏洞篇——sql(一)
- 13个UI设计软件,一次满足你的UI设计需求
- C++中的.hpp文件与.h文件
- 第十六届智能车稳压模块设计——LOD与DCDC的使用对比
- C#Ref与Out的区别
- eclipse maven插件问题:error occurred while automatically activating bundle org.eclipse.m2e.core.ui (525)
- 浙江省计算机二级考试几号,浙江省3月全国计算机二级考试时间
- 放射性核废料处理matlab模型,放射性废物处理问题模型.doc
- IS620F PN博途组态TO工艺对象,讨论汇川IS620F 替代西门子V90 PN的可行性
- 聊天机器人 2017