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


Сегодня
18 июля 2018
15:30
Вход Регистрация Забыли пароль ?

megainformatic - Пишем свою соц. сеть - Реализация файлового хранилища предложений в csv-файле
Пишем свою соц. сеть - Реализация файлового хранилища предложений в csv-файле В данной статье мы рассмотрим код, необходимый для хранения информации о созданных проектах webjob. В данном примере хранилище организуется в виде csv-файла, в соответствии с этим разработан и нижеприведенный код. //определяем название файл
подробнее...

Теги

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

Статьи сайта

Система Автоматизации Доставки Электронных Заказов 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

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

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 - Урок 1 Основные операторы языка C++ (часть 2)

Урок 2 Написание Win32-приложений. Обзор стартового кода Win32-приложения. Добавление ресурса текстовая строка

Урок 3 Создание Win32-приложений. Создание меню и простых диалоговых окон.

Урок 4 Создание Win32-приложений. Стандартные диалоги. Изучение сопутствующих конструкций языка. Консольные Win32-приложения. Указатели. Ссылочный тип. Массивы.

Урок 4 часть 2 Win32. Диалог выбора цвета, смена цвета фона окна приложения

Написание приложения DirectX9c + MFC в среде MSVS 2005

megainformatic - Создание компьютерных игр на основе DirectX в среде Delphi 6, 7

megainformatic - Создание компьютерных игр на основе DirectX в среде Delphi 6, 7 - Почему избраны DX8 и Delphi ?

megainformatic - Основы IDirectMusic8 в среде Delphi6-7

megainformatic - Основы DirectInput8 в среде Delphi 7

megainformatic - Основы DirectSound8 в среде Delphi6-7

megainformatic - Плагин для 3DS MAX из DX9 SDK

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2)

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 2

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 3

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 4

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 5

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 6

Система управления сайтом - megainformatic cms e-shop

Система управления сайтом - megainformatic cms e-shop

Система управления сайтом - megainformatic cms e-shop

megainformatic - Уроки 3ds max - Введение в 3ds max

megainformatic - ГАЛЕРЕЯ 3D-моделей

megainformatic - СОЗДАНИЕ МАКЕТА ПОМЕЩЕНИЯ

megainformatic - Создание макета помещения - этап 2

megainformatic - МОДЕЛИРОВАНИЕ НА УРОВНЕ МНОГОУГОЛЬНИКОВ

megainformatic - СОЗДАНИЕ ПРЕДМЕТОВ ОБСТАНОВКИ ПОМЕЩЕНИЯ

megainformatic - Моделирование обстановки помещения

megainformatic - Создание модели автомобиля

megainformatic - Создание текстурной развертки для модели автомобиля

megainformatic - Создание анимации вращающихся колес автомобиля

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

megainformatic - Основы 3D-анимации, экспорт скелетной анимации

megainformatic - Подготовка модели к использованию скелетной анимации

megainformatic - Продолжаем Создание скелета для данной модели

 

Введение в программирование игр на С++ для платформы 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++  
     
  [назад] [далее] [к содержанию]  
megainformatic live chat
Начать беседу
X
 

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



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


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
















    
Время загрузки: 0,1048