13 Posted August 14, 2016 Share Posted August 14, 2016 color='0xff0000' Это обратно примеру из цитаты: "#" заменяется на "0x" перед преобразованием строки в число. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted August 14, 2016 Share Posted August 14, 2016 @Mr 13, а, точно, невнимательно прочитал. @ Quote Link to comment Short link Share on other sites More sharing options...
Stepan371 Posted August 14, 2016 Author Share Posted August 14, 2016 оба варианта работоспособны в "extraFields": [] карусели.как окрашивание рамок, так и bgColor выбранного танка. @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted August 14, 2016 Share Posted August 14, 2016 Как уже объяснил Sirmax, если ожидается число, то подойдут оба варианта, если строка, то только #. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Stepan371 Posted August 14, 2016 Author Share Posted August 14, 2016 (edited) , в каком это месте работает? У меня что-то второй вариант не работает. да, спасибо, ktulho. я лишь хотел проиллюстрировать, что работают оба варианта. таким образом, поставив число, там, где оно должно быть, мы облегчим жизнь интрепретатору - не будет надобности преобразовывать литерал из строки Edited August 14, 2016 by Stepan371 @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted August 14, 2016 Share Posted August 14, 2016 Насколько я понял не совсем так. Из файла конфигурации цвет читается как строка. Если необходимо ее преобразовать в число, то перед этим # (если запись была вида #XXXXXX) заменяется на 0x. @ Quote Link to comment Short link Share on other sites More sharing options...
Stepan371 Posted August 14, 2016 Author Share Posted August 14, 2016 (edited) из соображений схожести с другими языками, - литералы либо явно декларируются, либо компилятор/интерпретатор определяет по их представлению в теле программы.если указано 0x??????, то - явно воспринимается, как численная константа.а из char поля берем строковую константу и отдаем ее подпрограмме/функции низкого уровня на преобразование в int.AFAIR, обрезка диеза с заменой на 0x там не очень работает.впрочем, на ассемблере я не писал уже лет 25-30.спорить не возьмусь )) Edited August 14, 2016 by Stepan371 @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted August 15, 2016 Share Posted August 15, 2016 @Stepan371, мне кажется, вы глубоко копаете. Это же не код программы, а конфигурационный файл. @ Quote Link to comment Short link Share on other sites More sharing options...
Yupi Posted August 15, 2016 Share Posted August 15, 2016 (edited) таким образом, поставив число, там, где оно должно быть, мы облегчим жизнь интрепретатору - не будет надобности преобразовывать литерал из строки Оптимизатор от бога! Коврики из машины не достаёшь, чтобы быстрее ехала и расход меньше был? © кто-то Edited August 15, 2016 by TwoPizza 1 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Stepan371 Posted August 15, 2016 Author Share Posted August 15, 2016 (edited) спасибо, ktulho Как уже объяснил Sirmax, если ожидается число, то подойдут оба варианта, если строка, то только #. не совсем так. вот пример, где ожидается численный литерал и строчный не заработал"hp_ratio": [ { "value": 10, "color": "0xDD0000" }, { "value": 25, "color": "0xFF6531" }, { "value": 50, "color": "0xFF9932" }, { "value": 60, "color": "0xFFCC22" }, { "value": 75, "color": "0x99FF44" }, { "value": 101, "color": "0x33FF88" } ] в строке ниже {{c:hp-ratio}} цифры не окрасил "nickFormatRight": "<font alpha='#A0'>{{clan}}</font> {{name%.15s~..}} | <font color='{{c:hp-ratio}}'>{{hp-ratio%03d|100}}</font>", спасибо, sirmax - за лаконичный и полный ответ. спасибо всем желавшим помочь.сожалею, кому мои месседжи показались грубыми. abstract, как я понял ответ sirmax -#?????? - char 0x?????? - intв некоторых конструкциях, строчный литерал преобразуется в численный, до обработки интерпретатором Edited August 15, 2016 by Stepan371 @ Quote Link to comment Short link Share on other sites More sharing options...
Yupi Posted August 15, 2016 Share Posted August 15, 2016 "hp_ratio": [ { "value": 10, "color": "0xDD0000" }, { "value": 25, "color": "0xFF6531" }, { "value": 50, "color": "0xFF9932" }, { "value": 60, "color": "0xFFCC22" }, { "value": 75, "color": "0x99FF44" }, { "value": 101, "color": "0x33FF88" } ] в строке ниже {{c:hp-ratio}} цифры не окрасил "nickFormatRight": "<font alpha='#A0'>{{clan}}</font> {{name%.15s~..}} | <font color='{{c:hp-ratio}}'>{{hp-ratio%03d|100}}</font>", не совсем так. вот пример, где ожидается численный литерал и строчный не заработал Ты всё перепутал, там наоборот ожидается строка, а ты суёшь число. 1 3 @ Quote Link to comment Short link Share on other sites More sharing options...
Stepan371 Posted August 15, 2016 Author Share Posted August 15, 2016 (edited) Ты всё перепутал, там наоборот ожидается строка, а ты суёшь число "суёшь", это не то слово, которое можно применить в данном контексте. и "всё" я препутать не мог. как, я написал выше, - строчный литерал в этой конструкции у меня не работает. проверено. этот пример из дефолта colors.xc "colorHP": { "very_low": "0xFF0000", "low": "0xDD4444", "average": "0xFFCC22", "above_average": "0xFCFCFC" } "hp_ratio": [ { "value": 10, "color": ${"def.colorHP.very_low" } }, { "value": 25, "color": ${"def.colorHP.low" } }, { "value": 50, "color": ${"def.colorHP.average" } }, { "value": 101, "color": ${"def.colorHP.above_average"} } ], Edited August 15, 2016 by Stepan371 2 @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted August 15, 2016 Share Posted August 15, 2016 {{c:hp-ratio}} {{c:hp_ratio}} @ Quote Link to comment Short link Share on other sites More sharing options...
Yupi Posted August 15, 2016 Share Posted August 15, 2016 строчный литерал в этой конструкции у меня не работает. проверено. Потому что там строка и ожидается, а не число. и "всё" я препутать не мог. Но все-таки умудрился ) 2 @ Quote Link to comment Short link Share on other sites More sharing options...
Stepan371 Posted August 15, 2016 Author Share Posted August 15, 2016 (edited) {{c:hp_ratio}} да, спасибо, я это видел - {{c:hp-ratio}} давно стоит. и работает. а {{c:hp_ratio}}, в свое сремя, работать не захотел. посему, - поставил и не трогал. принял, как данность вот у sirmax в sirmax-minimapLabels.xc //"shadow": { "color": "{{c:hp-ratio}}", "alpha": 80, "blur": 2, "strength": 4 }, Потому что там строка и ожидается, а не число. я проверил - результат отрицательный. предлагаю проверить - вам. Edited August 15, 2016 by Stepan371 @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted August 15, 2016 Share Posted August 15, 2016 @Stepan371, может скинете свою конфигурацию? @ Quote Link to comment Short link Share on other sites More sharing options...
Stepan371 Posted August 15, 2016 Author Share Posted August 15, 2016 D │ {{c:hp-ratio}} │ │ X │ X │ X │ X │ X │ │ color depending on current health ratio (only in vehicle markers)однако, работает и в панелях игроков @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted August 15, 2016 Share Posted August 15, 2016 {{c:hp_ratio}} , тут я был не прав. "hp_ratio": [ { "value": 10, "color": "0xDD0000" }, { "value": 25, "color": "0xFF6531" }, { "value": 50, "color": "0xFF9932" }, { "value": 60, "color": "0xFFCC22" }, { "value": 75, "color": "0x99FF44" }, { "value": 101, "color": "0x33FF88" } ] , такая конструкция в маркерах работает. P.S. в панелях игроков тоже работает. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Stepan371 Posted August 15, 2016 Author Share Posted August 15, 2016 Потому что там строка и ожидается, а не число. char мы получаем на выходе, для чего и используется неявное преобразование<font color='{{c:hp-ratio}}'> @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.