fle game engine - движок для создания игр
fle game engine - движок для создания игр


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
23 августа 2017
9:09
Вход Регистрация Забыли пароль ?

megainformatic cms express files - Развертывание сайта на Вашем хостинге
       
подробнее...

Теги

создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт

Статьи сайта

megainformatic - Как создать игру - Веселый Единственный Буквоежка - движение и анимация героя

Как Создать игру ВЕБ - Веселый Единственный Буквоежка - Программируем сами

Как Создать игру ВЕБ - Веселый Единственный Буквоежка - Программируем сами

megainformatic - Примеры моих работ

megainformatic - Музыкальные темы

megainformatic - Уроки Photoshop - Чудеса

megainformatic - Купить Уроки Photoshop - Чудеса

megainformatic - Онлайн Обучение, Репетитор

megainformatic - Уроки Photoshop - Рисуем и Анимируем

megainformatic - Уроки Photoshop - Рисуем и Анимируем - Урок 1 - Старт

megainformatic - Уроки Photoshop - Рисуем и Анимируем на AllSoft.ru

megainformatic - DirectX 9c - Изучаем пример MultAnimation

megainformatic - megainformatic cms Система Управления Контентом

megainformatic - Темы для WordPress

megainformatic - Что нужно для создания собственного сайта ?

megainformatic - Макет дизайна Вашего сайта

скачать megainformatic cms

megainformatic - Итоги 2010 года

megainformatic - Что нужно для создания собственного сайта ?

megainformatic - как создать инсталлятор для собственной cms

megainformatic - Новости - страница 2

Нововведения в megainformatic cms

Web Администрирование

Уроки Верстки

Система автоматизированной е-майл рассылки

Система автоматизированной е-майл рассылки

megainformatic - Выгрузка файла на сайт

megainformatic - выпадающее меню на html и css

megainformatic - Использование checkbox

Краеугольная особенность работы Web-form на примере смены состояния checkbox

Технологии WEB

Технологии WEB - AJAX-запросы

Часто Задаваемые Вопросы

Продукты

Проблемы с кодировками при отображении страниц

игра Нечто: Необъяснимое Нить Накала - "в плену желаний"

Система Автоматизации Доставки Электронных Заказов megainformatic cms e-pro

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

webinformatic: Музыкальная страничка трэкера

megainformatic - Создание музыки и звука

webinformatic: Создание музыки и звука: урок 2

megainformatic - Создание музыки и звука: урок 3 - настройка Impulse Tracker для работы в WinXP

megainformatic - Создание музыки и звука: урок 4 - Введение в Mod Plug Tracker

megainformatic - Создание музыки и звука: урок 5 - Первая композиция в Mod Plug Tracker

megainformatic - Создание музыки в Impulse Tracker 2.14 - урок 6 - Ввод Нот

megainformatic - Создание музыки в Impulse Tracker 2.14 Первая мелодия

megainformatic - Создание музыки в Impulse Tracker 2.14 Настройка параметров сэмплов

megainformatic - Создание музыки и звука: теория и практика создания трэкерской музыки

megainformatic - Инструкция по оплате услуг средствами WebMoney

Основы работы в Microsoft Visual Studio 2008 и DirectX 9 (DX SDK Aug 2008)

Введение в программирование игр на С++ для платформы DirectX 9 - Первый старт

Введение в программирование игр на С++ для платформы DirectX 9 - Меняем иконку приложения

Введение в программирование игр на С++ для платформы DirectX 9 Добавляем другую модель

Введение в программирование игр на С++ для платформы DirectX 9 Программирование игр в directx. Hello, World!

Введение в программирование игр на С++ для платформы DirectX 9 Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008

 

Введение в программирование игр на С++ для платформы DirectX 9

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008

 
     
 

Данный небольшой урок является введением в программирование игр на C++ для DirectX 9

Вам нужно иметь установленную среду Microsoft Visual Studio 2005 или 2008 (можно триал),

и DirectX SDK 9 версии, или лучше самой последней - DirectX SDK August 2008.

 
 
     
  [назад] [далее] [к содержанию]  
     
  Мы рассматриваем основные конструкции языка C++ на примере работы в Microsoft Visual Studio 2008  
     
 

В предыдущих уроках - [Первый старт], [Меняем иконку приложения], [Добавляем другую модель]

мы ознакомились с первыми шагами, которые нужно выполнить для начала работы с directx в Microsoft Visual Studio 2008 - настроить примеры для корректной компиляции, сменить иконку в собственном проекте и наконец приступить к первым модификациям кода

 
     
 

Задача: вывести значение переменной на экран

Реализация: можно поместить на форму метку (label). Если реализовать вывод значения переменной по нажатию на кнопку.

При этом возникают следующие вопросы:

Как получить доступ к метке label на форме из кода?

Сначала решаем так: объявляем переменную, по нажатию на кнопку в ее свойстве Text выводим значение переменной

В заголовочном файле Form1.h

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
//int i = 0;
//MessageBox::Show("Hello, World!");
//Sender.Text = "1";
button1->Text = "1";

}

код помеченный коричневым был сгенерирован системой, код помеченный зеленым был записан нами

результат работы - по нажатию на кнопку на ее поверхности выводится текст:

1

 
     
 

Функция перевода числа в текст?

itow (перевод int в строку Unicode)

эквивалент для .Net Framework - System::Convert::ToString

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
int i = 0;
button1->Text = Convert::ToString(i);

}

 
     
 

Показанный выше пример выводит число 0 в виде текста на поверхность кнопки!

Теперь можно заняться исследованиями языка C++

 
     
 

Разработка мини-калькулятора

Самый простейший вариант программы это небольшой калькулятор, который бы выполнял основные арифметические операции - сложение, вычитание, умножение, деление

должно быть поле для ввода значений и отображения результата,

кнопки +, -, *, /, =

Работа происходит так: в поле вводится первое число, нажимается кнопка операции, вводится второе число, нажимается = при этом в поле ввода должен появиться результат

 
     
 

Реализация - на форме нужно разместить элементы управления Button (5 шт), в качестве поля ввода TextBox

Дать элементам управления более осмысленные имена (свойство Name в панели Properties), например

plus_button, minus_button, mult_button, div_button, result_button, EnterFieldtextBox

Для свойства Text кнопок установите +, -, *, /, = соответственно

 
     
   
     
  По нажатию на кнопки - + * / значение текстового поля должно заноситься в переменную первого операнда (x), в специальную переменную должен заноситься код операции (code_op), по нажатию на кнопку = значение текстового поля должно заноситься в переменную второго операнда (y), должен вычисляться результат (res) и выводится в текстовое поле  
     
  Для очистки регистров x, y, res и code_op можно добавить специальную кнопку - Clear  
     
 

Вообще программирование приложения Windows Forms в MSVS 2008 сильно напоминает методы работы в Delphi 7!

Я не удержался и удалил кнопку Say Hello. Как поведет себя MSVS ? К сожалению код обработчика мне пришлось удалять вручную. Среда Delphi в этом случае повела бы себя более разумно - во время сохранения изменений когда код обработчика был бы пуст она бы удалила метод обработчика из кода. MSVS 2008 как видим этого не сделала. В этом плане MSVS сильно отличается от Delphi 7. Еще меня удивило, что код модуля формы для обработчиков нажатий кнопок попадает в заголовочный файл формы Form1.h. Возможно это связано с тем, что не вводился специальный тип файла для хранения данных формы. В Delphi 7 для этих целей есть специальный файл *.dfm

Похоже, что основные идеи создания приложений Windows Forms в Microsoft пришли из Delphi. Или я ошибаюсь?

 
     
 

в коде класса формы добавляем описание наших переменных статичных полей для формы

private: static int x, y, res, code_op;

 
     
  остальной код (после автоматического добавления обработчиков нажатий на кнопки формы по аналогии с HelloWorldCLR) будет выглядеть так -  
     
  private: System::Void plus_button_Click(System::Object^ sender, System::EventArgs^ e) {  
 

//запоминаем значение EnterFieldtextBox
x = Convert::ToInt32(EnterFieldtextBox->Text);
//и код операции
code_op = 1;

 
  }  
  private: System::Void clear_button_Click(System::Object^ sender, System::EventArgs^ e) {  
 

x = 0;
y = 0;
res = 0;
code_op = 0;
EnterFieldtextBox->Text = "0";

 
  }  
  private: System::Void result_button_Click(System::Object^ sender, System::EventArgs^ e) {  
 

//запоминаем значение второго операнда
y = Convert::ToInt32(EnterFieldtextBox->Text);
//выполняем вычисление
switch (code_op)
{
case 1:

 
 

res = x + y;
break;

 
 

case 2:

 
 

res = x - y;
break;

 
 

case 3:

 
 

res = x * y;
break;

 
 

case 4:

 
 

if (y != 0)
res = x / y;
break;

 
 

default: ;

 
 

}
//выводим результат
EnterFieldtextBox->Text = Convert::ToString(res);

 
  }  
  private: System::Void minus_button_Click(System::Object^ sender, System::EventArgs^ e) {  
 

//запоминаем значение EnterFieldtextBox
x = Convert::ToInt32(EnterFieldtextBox->Text);
//и код операции
code_op = 2;

 
  }  
  private: System::Void mult_button_Click(System::Object^ sender, System::EventArgs^ e) {  
 

//запоминаем значение EnterFieldtextBox
x = Convert::ToInt32(EnterFieldtextBox->Text);
//и код операции
code_op = 3;

 
  }  
  private: System::Void div_button_Click(System::Object^ sender, System::EventArgs^ e) {  
 

//запоминаем значение EnterFieldtextBox
x = Convert::ToInt32(EnterFieldtextBox->Text);
//и код операции
code_op = 4;

 
  }  
     
  зеленым помечен код, который Вы должны написать сами  
     
  сохраняем, выполняем сборку, проверяем работу нашего калькулятора -  
     
   
     
 

Щелкаем мышью по текстовому полю, вводим с клавиатуры первое число, нажимаем кнопку операции, снова щелкаем по текстовому полю и вводим второе число, нажимаем знак равно, получаем результат.

Кнопка clear приводит к очистке полей формы x, y, res, code_op и записи строкового значения "0" в свойство Text поля ввода EnterFieldtextBox

Обратите внимание!!! Т.к. MSVS и язык C++ являются чувствительными к регистру букв (заглавные/строчные), то все имена переменных и других идентификаторов необходимо вводить именно так, как вы их записали во время первого объявления!

Т.е. записав в секции объявлений или где-то в коде переменную с именем ReS обращаться к ней нужно именно как ReS, обращения res или Res или даже RES будут восприняты компилятором как обращения к совершенно другой переменной!!!!! Имейте это в виду, если Вы только только начали писать на С++.

Поскольку я хорошо знаком с Delphi 7, то я всегда буду сравнивать MSVS именно с ним. Ваш опыт программирования в других языках и средах сформирует в дальнейшем Ваше собственное мнение.

 
     
  в следующем уроке мы начнем разбор основных конструкций языка C++  
     
  [назад] [далее] [к содержанию]  
 

Оставленные комментарии



fle game engine - движок для создания игр
fle game engine - движок для создания игр


Something: Unexplained 2 captive of desires / Нечто: Необъяснимое 2 в плену желаний
Костя Коробкин Комикс Коллекционное издание - 6 комиксов, 81 страница, 220 mp3 треков
megainformatic Размещение баннерной рекламы у нас
Время загрузки: 0,7190