语言/GUI库以制作地图编辑器。

我正在为我开发的应用程序设计跨平台地图编辑器,我不确定在语言/ GUI 库选择方面该采取什么方法。仅作为一些基本信息,编辑器需要解析和输出 XML 文件。

我最擅长 C++、Lua 和 Perl,但我也愿意使用 Python(可以练习一下)。我更喜欢使用脚本语言来提高生产力。

感谢任何建议。

我也希望能够支持填写表格等功能。

另外,我已经测试了一下扩展现有地图编辑器,但它并不值得,因为它们在根本层面上没有提供我需要的功能,需要我重新编写整个程序。

原文链接 https://stackoverflow.com/questions/3644441

点赞
stackoverflow用户78259
stackoverflow用户78259

我的首选是 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("点击按钮");
my $button = Gtk2::Button->new("按我");

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;
2010-09-05 00:02:35
stackoverflow用户407438
stackoverflow用户407438

我可以建议使用Python和PyQt来进行这项工作。Qt提供了一个用于场景管理的类(即分层对象放置、缩放、碰撞测试、事件、坐标转换等),称为QGraphicsScene,以及一个匹配的控件来显示所有这些,称为QGraphicsView。它还提供了拖放支持,从而实现交互式对象放置。

使用这些类实现地图,实际上只需要创建QGraphicItems(矩形、多边形等)并将它们添加到场景中,Qt会完成其余的工作。你可以通过阅读文档,尤其是“ 图形视图框架”文档,了解它们如何完美结合。最近我为一位客户实现了类似的东西,对这种方法非常满意。

2010-09-05 00:03:19
stackoverflow用户68204
stackoverflow用户68204

建议使用 IUP 作为 GUI。它基于 Lua 基础,轻量且便携,可以在 Linux 和 Windows 上使用,并且与 Lua 集成良好。对于喜欢 Gtk 的用户,IUP 包括一个 Gtk 驱动程序,因此理论上可以在任何 Gtk 可移植的系统上进行移植。

另一个可行的选择是 wxWidgets,它也有一个与 Lua 集成的包装器。

IUP 和 wxWidgets 都包含在 Lua for Windows 捆绑软件中。

2010-09-05 00:38:53