Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
4 / 4 / 3
Регистрация: 25.04.2015
Сообщений: 95

Существует способ сделать заготовки для экземпляра класса?

03.07.2016, 21:43. Показов 696. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер )
Собственно, вопрос в теме: есть ли способ создать пресеты для экземпляров класса?
Поясню: есть игра, предигровые экраны (меню, настройки, выбор карты и тд) содержат одну и ту же кнопку "Назад".
У нее одинаковое положение на каждом экране? оформление, текст; только действие меняется (из настроек переходим в меню, из настроек аудио просто в настройки и тд.).
Сама эта кнопка состоит из двух экземпляров других классов - отображения текста и всего остального, сама кнопка в общем. Действие при нажатии прописывается в самом экране банальным if, то есть не связана с классом кнопки.
У меня на каждом экране (экран - экземпляр абстрактного класса) происходит создание класса кнопки и вручную прописываются - положение, конструкторы текста/кнопки, результат после нажатия и тд.
Можно ли создать отдельный .cs, куда можно будет записать эти все параметры, а потом их как-либо считать? Я не про сериалайзер, а может структурой или еще как. По типу как люди делают с enum - выносят в отдельный файл. Может и с таким можно? И как это сделать?
C#
1
2
3
4
5
6
7
8
9
10
private ButtonImage prelevelBackBtn;
private Text backBtnText;
 
            prelevelBackBtn = new ButtonImage(base.Content);
            Vector2 _backButton = new Vector2(0, 704);
            string[] textBackBtn = { "Выход" };
            PositionText = new Vector2(_backButton.X + 70, _backButton.Y + 16);
            backBtnText = new Text(base.Content);
            backBtnText.SetText(Settings.onButtonTextScale, textBackBtn);
            prelevelBackBtn.LoadTexture("textures\\buttons\\back_button", _backButton);
Вот этот текст мне надо прописывать каждый раз, а не хочется
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.07.2016, 21:43
Ответы с готовыми решениями:

Способ создания экземпляра класса
Ниже в скрипте отметила два варианта. В чужих скриптах встречаю оба время от времени. Интересно, в чем принципиальное различие и как...

Такой способ создание экземпляра класса хорошо или плохо?
Объясните пожалуйста в чем есть плохо создавать экземпляр класса вот так? class A{ /*.....*/ }objA; нежели так :

Создание экземпляра класса-наследника для переменной с типом базового класса
Подскажите чайнику как создается экземпляр класса BC BaseClass BC = new DerivedClass(); Вопрос: BC - это экземпляр класса BaseClass...

2
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,304
04.07.2016, 04:00
Diamond15, создай класс-фабрику с методом CreateExitButton, в который затолкни этот *код*. Потом из конструкторов сцен дёргай этот метод и получай на руки нужную кнопку, дублирования кода не будет. Кстати, кнопку можно было бы оформить и в виде самостоятельного класса, ты об этом не думал?

И ещё. Приведённый пример является классическим говно-кодом. Рекомендую ознакомиться с хорошей статейкой на тему разделения интерфейса и данных, а так же с рекомендациями по написанию чистого кода.
0
4 / 4 / 3
Регистрация: 25.04.2015
Сообщений: 95
04.07.2016, 10:26  [ТС]
Спасибо за совет
С говнокодом перегнул, но в остальном норм
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.07.2016, 10:26
Помогаю со студенческими работами здесь

Как изменить данные экземпляра класса, находясь в другом классе? (Пишет не "существует в текущем контексте")
Добрый день. Объявил экземпляр "Skvig" в классе Main Подскажите, пожалуйста, как изменить данный экземпляр в классе Work public...

Почему при вызове метода у экземпляра класса он сначала ищет у экземпляра
Всем привет, после прочтения Лутца про ООП появился такой вопрос почему при вызове метода у экземпляра класса он сначала ищет у экземпляра,...

Создание экземпляра класса, разрушение экземпляра класса
Не могу найти информацию про разрущение экземпляра класса. Объясните пожалуйста, что это?

Создание нового экземпляра дочернего класса из экземпляра базового
Всем привет! Извиняюсь, если вопрос глупый, но что-то не смог найти конкретный ответ на него... У меня есть несколько классов: все они...

При создании экземпляра класса, создается 2 экземпляра вместо 1
Подсчет экземпляров ведется с помощью статического члена num_dogs, который во всех трех конструкторах (1. по умолчанию, 2. со всеми...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru