我正在为我开发的应用程序设计一个跨平台地图编辑器,我不确定采用什么方法来选择语言/ gui库。只是为了一些基本信息,编辑器需要解析并输出xml文件。
我对C ++,Lua和Perl最熟悉,但我也愿意使用Python(可以使用这种做法)。我更喜欢用脚本语言来提高工作效率。
感谢任何建议,谢谢。
我也支持填写表格等。
P.S。我已经测试了扩展现有的地图编辑器,但它并不值得,因为它们不能在基础层面上提供我需要的功能,因此无论如何都要求我重新编写整个内容。
答案 0 :(得分:4)
我的偏好始终是Gtk2
和Perl 5,但这种组合最适合Linux。你要在哪个操作系统下运行?
以下是使用Gtk2的示例Perl 5脚本:
#!/usr/bin/perl
use strict;
use warnings;
use Gtk2;
Gtk2->init;
my $window = Gtk2::Window->new;
my $vbox = Gtk2::VBox->new;
my $label = Gtk2::Label->new("click the button");
my $button = Gtk2::Button->new("click me");
my $i;
$window->signal_connect(destroy => sub { Gtk2->main_quit });
$button->signal_connect(clicked => sub { $label->set_text(++$i) });
$window->add($vbox);
$vbox->add($label);
$vbox->add($button);
$window->show_all;
Gtk2->main;
答案 1 :(得分:2)
我可以推荐使用Python和PyQt来完成工作。 Qt提供了一个用于场景管理的课程(即分层对象放置,缩放,命中测试,事件,坐标转换等,甚至是碰撞检测),称为QGraphicsScene,以及一个匹配控件来显示它,称为QGraphicsView。它还支持拖放,从而实现交互式对象放置。
使用这些类实现地图实际上只是创建QGraphicItems(矩形,多边形等)并将它们添加到场景中,Qt完成其余的工作。您可以查看一下如何阅读文档,尤其是文档“The Graphics View Framework”。我最近不得不为客户实现类似的东西,并对这种方法非常满意。
答案 2 :(得分:2)
在Lua的基础上,我建议使用IUP作为GUI。它轻巧,可移植到Linux和Windows,并与Lua完美集成。对于那些喜欢Gtk的人来说,IUP包含一个Gtk的驱动程序,所以它原则上可以移植到Gtk可以移植的任何系统。
另一个合理的选择是wxWidgets,它还有一个将它与Lua集成的包装器。
IUP和wxWidgets都包含在Lua for Windows包中。