play_phaser, 一种用于相位 2D 游戏引擎的

分享于 

7分钟阅读

GitHub

  繁體 雙語
A Dart port for Phaser 2D game engine.
  • 源代码名称:play_phaser
  • 源代码网址:http://www.github.com/playif/play_phaser
  • play_phaser源代码文档
  • play_phaser源代码下载
  • Git URL:
    git://www.github.com/playif/play_phaser.git
    Git Clone代码到本地:
    git clone http://www.github.com/playif/play_phaser
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/playif/play_phaser
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    play_phaser

    Phaser Dart 端口( 2.1.2 )

    非常容易学习和乐趣 2D 游戏引擎飞镖。

    构建在我的画布/绘图库 play_pixi 之上。

    请查看在线演示插件( 包括所有游戏示例)

    如果有任何问题,请随时通知我。

    pub: [ https://pub.dartlang.org/packages/play_phaser ]

    特性

    和帆布

    Phaser在内部使用画布和WebGL渲染器,并且可以根据浏览器支持在它们之间自动交换。 这允许在桌面和手机上快速呈现闪电。 现在在WebGL下运行,支持着色器,允许一些令人难以置信的游戏效果。 Phaser使用并贡献到优秀的Pixi.js 库来呈现。

    预加载

    我们已经把资产的装载简化为一行代码。 图像。声音。画面。Tilemaps。JSON数据。XML和JavaScript文件都可以自动解析和处理。

    物理

    我们的Arcade物理系统,忍者物理和 P2.JS - 一个完整的身体物理系统。 街机物理仅适用于高速AABB碰撞。 耐忍物理允许复杂的瓦和斜坡,完美的水平场景,P2.JS 是一个完整的物理系统,约束,弹簧。

    精灵是你游戏的生命。 定位它们,旋转它们,旋转它们,将它们放大,动画,碰撞到自定义纹理,等等。 sprite还具有完整的输入支持: 点击它们,触摸它们,拖动它们,捕捉它们- 即使是像素完美的点击检测。

    集群包,用于容易池和回收,避免不断的对象创建。 组也可以冲突: 例如"项目符号"组检查与"异形"组的冲突,并使用自定义冲突回调来处理结果。

    动画

    ,支持经典的框架尺寸,纹理封隔器和 Flash/cc JSON文件( 哈希和 array 格式) 和,XML文件。 所有这些都可以用来轻松为精灵创建动画。

    颗粒

    内置的街机粒子系统,可以轻松创建有趣的粒子效果。 创建爆炸或者恒定流,如雨或者火焰。 或者把发射器连接到一个 jet。

    相机

    Phaser有一个内置的游戏世界。 对象可以放在世界内任何地方,你可以通过强大的摄像机进入世界。 Pan,轻松地跟随画面。

    输入

    如果输入的是触摸屏或者鼠标,这并不重要,它甚至可以改变中间的游戏,而不需要弹出节拍。 多触摸。鼠标。键盘和许多有用的函数使你可以编写自定义手势识别。

    Phaser支持网络音频和传统的HTML音频。 它自动处理移动设备锁定,轻松的音频Sprite创建,循环,流和卷。 我们知道在手机上处理音频的痛苦是多少,所以我们最好解决这个问题。

    Tilemaps

    Phaser只需几行代码就可以加载。渲染和与tilemap碰撞。 我们支持CSV和平铺地图数据格式的多个瓦片层。 有许多强大的平铺操作功能: 交换瓦片,替换它们,delete,添加它们,并实时更新地图。

    设备缩放

    Phaser有内置的比例管理器,允许你缩放游戏以适应任意大小的屏幕。 控制纵横比,最小和最大比例和全屏支持。

    插件系统

    我们努力保持基本类的核心限制,因这里我们构建了一个智能插件系统处理它的他事情。 轻松创建自己的插件,并与社区共享。

    移动浏览器

    Phaser是专门为移动网络浏览器构建的。 当然,blazingly在桌面上也能快速运行,但不同于很多框架,手机是我们的主要焦点。 如果它在移动方面表现不好,那么我们就不会把它加入到核心中。

    示例:

    请查看在线演示或者从 github repo 下载示例。

    
    
    
    
    import "package:play_phaser/phaser.dart";
    
    
    
    main() {
    
    
     Game game = new Game(800, 480, WEBGL, '', new basic_01_load_an_image());
    
    
    }
    
    
    
    class basic_01_load_an_image extends State {
    
    
    
     Text text;
    
    
     Sprite image;
    
    
    
     preload() {
    
    
     //You can fill the preloader with as many assets as your game requires
    
    
    
     //Here we are loading an image. The first parameter is the unique
    
    
     //string by which we'll identify the image later in our code.
    
    
    
     //The second parameter is the URL of the image (relative)
    
    
     game.load.image('car', 'assets/sprites/car.png');
    
    
    
     }
    
    
    
     create() {
    
    
     //This creates a simple sprite that is using our loaded image and
    
    
     //displays it on-screen
    
    
    
     image = game.add.sprite(game.world.centerX, game.world.centerY, 'car');
    
    
    
     //Moves the image anchor to the middle, so it centers inside the game properly
    
    
     image.anchor.set(0.5);
    
    
    
     }
    
    
    
    }
    
    
    
    
    更改日志

    0.12.0

    • 更新至 Phaser 2.1.2.
    • 修复 Bug ( 感谢 #12 )

    0.11.1

    • 修复 Bug ( 感谢 #11 )

    0.11.0

    • 添加 P2.JS ( 0.6 ) ( 带有一些示例)。
    • 更新至 Phaser 2.1.1.
    • 添加Rope示例。
    • 修复文本 Bug ( 感谢 #10 )。

    0.10.3

    • 修复 rectangle 类 centerY getter有错误 ! ( 感谢 #8 )。
    • 修复 Group.sort 类没有实例方法'[]'。 ( 感谢 #7 )。
    • 添加点运算符重载。 ( 感谢 #6

    0.10.2

    • 修复 ScaleManager Bug ( 感谢 #4 )。
    • 修复 Sprite.crop Bug ( 感谢 #5 )。
    • 添加两个示例,sprite_06和 sprite_07

    0.10.1

    • 向所有功能和信号添加类型。

    0.10.0

    • 忍者物理示例。

    0.9.4

    • 修复动画 Bug ( 感谢 #3 )。

    0.9.3

    • 修复 Bug。
    待办事项
    • 构建更多的例子来全面测试play_phaser游戏引擎。
    • 在游戏用户界面中构建,以便在一个CocoonJS应用程序中测试所有示例。
    • 重构代码,以提高可伸缩性和性能。
    • 以 Dart 样式完成文档。

    GAM  游戏引擎  DART  Phase  phaser  
    相关文章