SFML и C++ Уроки \ Разработка игр › Форумы › SFML Graphics › Class Text › Ответ в теме: Class Text
Вобще, если пытаешься делать под себя обёртки для упрощения своей жизни, конструктор можно подгонять под любое количество аргументов. К примеру в своём коде я буду всегда по умолчанию использовать один и тот же шрифт который был статически где-то объявлен, соответственно в конструкторе я могу упустить передачу файла шрифта и уже сразу задавать строку и позицию, либо что-то ещё.
К примеру на C# мой класс Text который я старался сделать похожим на аналог из SFML имеет уже зарание объявленую ссылку на шрифт которая присваивается ещё до вызова конструктора(Main.Font объявлен статично)
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
class Text : ISFDrawable { #region Fields SpriteFont font = Main.Font;///Поскольку я знаю, что программа не запустится если XNA не обнаружит в папке Content данного шрифта, ///я могу со спокойной совестью выгружать специально заранее загруженый экземпляр шрифта который я использую во всей программе не передавая ///его через параметры конструктора /* ... */ public Text() { } public Text(SpriteFont TextFont) { font = TextFont; } public Text(string rawString) { RawString = rawString; } public Text(string rawString, Vector2 position, Color color = Color.White) { RawString = rawString; Position = position; Colro = color; } public Text(string rawString, Vector2 position, Color color , float fontSize = 12) { RawString = rawString; Position = position; Colro = color; CharacterSize = fontSize; } } |