- Регистрация
- 30 Мар 2019
- Сообщения
- 18
- Лучшие ответы
- 0
- Репутация
- 2
Привет, товарищи-специалисты. Вопрос легкий. Я знаю, что код бредовый, но он тут просто для наглядности и для большего понимания. В силу малого опыта я не знаю каким образом нужно делать, поэтому и обращаюсь к вам.
Предположим что у меня есть 4 варианта, из которых выбирает switch. 0, 90, 180, 270. Предположим, что это углы поворота. А далее создается объект с координатами, которые заданы по формулам. И сами эти формулы как раз-таки
и задаются в зависимости от выбора switch 0, 90, 180, 270.
В кусочке кода я просто задефайнил, разумеется, каждый поймет, что это работать не будет. Я изначально пробовал прописать формулы в переменных типа string, потом в CreateObject объединить формулы с координатами объекта, путем strcat, но столкнулся с проблемой, что просто не знаю как преобразовать в таком случае string в float. Вернее даже не преобразовать, а чтобы CreateObject не принимал string, как float значение, а именно выполнял ту формулу, что прописана в string, не знаю как более правильно выразиться) Так вот, как мне задать эти формулы, чтобы потом CreateObject правильно их считывал? Подозреваю, что, возможно, есть что-то типа #define, но я просто об этом не знаю, поэтому и прошу помощи. Просто #define +формула в CreateObject, кстати, работает, если делать без выборки по градусам. Ну это, я так понимаю, потому что #define что-то типа константы.
Надеюсь на вашу помощь
Предположим что у меня есть 4 варианта, из которых выбирает switch. 0, 90, 180, 270. Предположим, что это углы поворота. А далее создается объект с координатами, которые заданы по формулам. И сами эти формулы как раз-таки
и задаются в зависимости от выбора switch 0, 90, 180, 270.
В кусочке кода я просто задефайнил, разумеется, каждый поймет, что это работать не будет. Я изначально пробовал прописать формулы в переменных типа string, потом в CreateObject объединить формулы с координатами объекта, путем strcat, но столкнулся с проблемой, что просто не знаю как преобразовать в таком случае string в float. Вернее даже не преобразовать, а чтобы CreateObject не принимал string, как float значение, а именно выполнял ту формулу, что прописана в string, не знаю как более правильно выразиться) Так вот, как мне задать эти формулы, чтобы потом CreateObject правильно их считывал? Подозреваю, что, возможно, есть что-то типа #define, но я просто об этом не знаю, поэтому и прошу помощи. Просто #define +формула в CreateObject, кстати, работает, если делать без выборки по градусам. Ну это, я так понимаю, потому что #define что-то типа константы.
PHP:
new Float:rotation;
switch(building_info[i][ROTATION])
{
case 0:
{
#define XCOORD (building_info[i][XCRD])+
#define YCOORD (building_info[i][YCRD])+
rotation = 0.0;
}
case 90:
{
#define XCOORD (building_info[i][XCRD]+102.4)-
#define YCOORD (building_info[i][YCRD])+
rotation = 90.0;
}
case 180:
{
#define XCOORD (building_info[i][XCRD]+102.4)-
#define YCOORD (building_info[i][YCRD]+102.4)-
rotation = 180.0;
}
case 270:
{
#define XCOORD (building_info[i][XCRD])+
#define YCOORD (building_info[i][YCRD]+102.4)-
rotation = 270.0;
}
}
switch(building_info[i][TYPE])
{
case 50:
{
lands_objects[i][0] = CreateDynamicObject(760, XCOORD (40.8898), YCOORD (18.6159), (building_info[i][ZCRD])+(-1.1712), 0.0000, 0.0000, 0.0000+rotation, -1, -1, -1, 3000);
}
}