如何使用AngelScript注册SFML Vector2运算符

How to register SFML Vector2 operators with AngelScript?

本文关键字:Vector2 运算符 SFML 注册 何使用 AngelScript      更新时间:2023-10-16

我正在开发一个使用SFML的游戏引擎。我目前正在使用AngelScript添加脚本,但是,在使用AngelScript注册sf::Vector2时遇到了问题。我已经设置了基本的构造函数,我可以在AngelScript中使用sf::Vector,但我需要添加运算符,因为如果没有为类型定义=运算符,就无法从AngelScript调用Vector2 foo = Vector2(10.0f, 5.0f);。问题是:sf::Vector2实际上没有定义=运算符。。。有没有解决方法,或者我必须创建自己的vector2类,或者添加所需的运算符来重建SFML?

sf::Vector2是一个模板类,SFML包含Vector2的typedef,它使用名为Vector2f的浮点https://www.sfml-dev.org/documentation/2.5.1/classsf_1_1Vector2.php

SFML确实允许您使用="Vectors的运算符。问题是您使用的Vector2只是一个模板类,它缺少参数(例如Vector2、Vector2(。不能仅通过跳过参数来对模板类执行操作。当然,您可以使用@IRevenant所指出的SFML中的typedef,如:

Vector2f foo = Vector2f(10.0f, 5.0f);

Vector2f C = A + B; //A and B are Vector2f