maniaplanet / manialib-manialink
v0.1.1
2014-05-27 08:53 UTC
Requires
- php: >=5.3
- maniaplanet/manialib-xml: ~0.1.0
Requires (Dev)
- symfony/console: ~2.4
- symfony/stopwatch: ~2.4
This package is auto-updated.
Last update: 2022-02-01 12:32:03 UTC
README
ManiaLib\Manialink 是一个基于 ManiaLib\XML 的面向对象PHP库,用于编写Manialink界面。
我们可以在 http://forum.maniaplanet.com/viewtopic.php?f=40&t=25999 讨论它
安装
{ "require": { "maniaplanet/manialib-manialink": "0.3.*@dev" } }
特性
- ManiaLib\XML的特性
- 框架逻辑大小和定位
- 大小父元素内部子元素的相对定位
- 卡片用于组合复杂可重用元素集
- 所有样式/子样式的辅助类
架构
- 参见 ManiaLib\XML
- 大多数元素都应该实现用于常用属性的setter(例如
ManiaLib\Manialink\Elements\Quad::setImage($image)
),但如果不存在setter,则可以使用setAttribute($name, $value)
代替。 - 对于样式和子样式,当与
ManiaLib\Manialink\Styles\
中的抽象类一起使用时,setStyle($style) 方法同时处理两者,例如Quad::create()->setStyle(Bgs1::BgWindow1);
示例
参见 /examples 目录
定位和相对定位
- 框架大小和定位模拟了标准元素在框架中的对齐行为。使用此功能可以创建具有大小和定位的对齐逻辑容器。
- 相对定位帮助定位元素相对于其父容器。为此,您需要一个具有大小和子元素的框架;例如,您可以将quad放在“框架的右下角”。
为了帮助直观地理解这些概念
- Manialink速查表:http://maniapla.net/#url=manialib-manialink:align
- 来源:参见 /example/alignments-cheat-sheet.php
它与ManiaLib框架有什么关系?
与ManiaLib的旧版本相比,它只是一个独立的软件包,用于构建Manialink页面。它可以用在任何类型的项目中,从Web框架(例如ManiaLib)到服务器控制器(例如ManiaLive)。它与ManiaLib\Gui共享一些通用代码,但在命名和总体架构方面有很多变化。
待办事项
- Frame3d中的布局有bug吗?
- 实现所有元素类
- 实现所有布局
- PhpDoc