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


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
21 февраля 2019 0:22
Вход Регистрация Забыли пароль ?

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

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки 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-анимации, экспорт скелетной анимации

подробнее

       
 

Урок 8: Настройка параметров сэмплов

Сэмплы - это основа любой Вашей композиции. От их качества зависит качество получаемого звука. В MT вы не можете создавать свои сэмплы. Их можно только загружать в готовом виде. Для создания сэмплов используйте другие специализированные программы, например Sound Forge (см. уроки 1,2). Однако есть ряд параметров сэмпла, которые Вы можете задавать, меняя тем самым качество получаемого звука.

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

 
       
 

Перейдите в окно списка сэмплов - вкладка Samples. Загрузите какой-нибудь сэмпл и посмотрите какие имеются параметры.

Default volume: громкость сэмпла по умолчанию - вы можете задавать значение 0-64 с клавиатуры - для этого клавишами [Tab] и [Shift]+[Tab] вам нужно перевести курсор в это поле и ввести значение с клавиатуры. Или можно перемещать ползунок - мышью!

Global volume: глобальная максимальная громкость которую можно установить для сэмпла.

Set pan: значение панорамы (смещение баланса между левым и правым стерео-каналами) по умолчанию. Отсутствие галочки соответствует отключенному состоянию панорамы - когда мы вообще не регулируем ее. Значение поля соответствует заданному балансу. 0 - полное смещение в левый канал и 128 - в правый.

Auto-Vibrato, Depth, Sweep, Rate - параметры задающие управление вибрацией звука генерируемого сэмплом. Это соответственно - форма волны вибрации, глубина, скорость и диапазон вибрации. Поэкспериментируйте - сразу поймете что к чему!

 
       
 

Важные характеристики сэмпла:

В левой половинке окна параметров сэмпла остались самые важные параметры: (Сверху-вниз по-порядку) -Name, File - название сэмпла и имя файла (беспокоиться о его расположении не нужно, т.к. будучи загруженным в композицию сэмпл становится ее частью и располагается внутри), но информация о названии может быть вам полезна тогда, когда Вы захотите загрузить и в другую свою композицию какой-то такой же понравившийся Вам сэмпл; Freq- базовая частота дискретизации сэмпла (Гц) c которой воспроизводится нота в поле Transpose. Принцип генерации звуков всех других нот довольно прост - каждая нота имеет определенное (стандартизированное) смещение в частоте дискретизации относительно базовой ноты (С-4). Например, следующая нота C#4 - имеет смещение в 4 Гц, D-4 - в 1024 Гц и т.п. Таким образом звук более высокой (по тону) ноты проигрывается быстрее давая звук более высокой звуковой частоты и наоборот - медленнее - ниже. Этим способом воспроизводится все богатство нот генерируемых одним лишь сэмплом. Базовую частоту дискретизации сэмпла можно легко изменить - выполнив смещение на полутон или целую октаву или просто введя производльное (до определенного предела) значение. Такое смещение естественно повлияет на расстановку тонов нот. Поэтому если правильный сэмпл использовать с неправильной частотой дискретизации это может привести к эффекту "расстроенного рояля" - т.е. ноты инструмента будут выдавать совсем не те тона, которые им положены. Здесь мы подошли к вопросу о базовой частоте создаваемых сэмплов. Когда Вы создаете свои сэмплы учитывайте частоту звука задаваемую Вами при генерации сэмпла в Sound Forge, а затем проверяйте свой сэмпл на слух в IT и при необходимости корректируйте частоту задаваемую в Sound Forge или базовую частоту дискретизации в IT.

У такого способа генерации звуков нот есть и недостаток - ноты верхних октав воспроизводятся с более высокой скоростью, поэтому длительность звука при воспроизведении этих нот становится меньше. Например, если Ваш сгенерированный в Sound Forge сэмпл имел длину в 1 секунду - то эта длина относится только к воспроизведению ноты C-4. Ноты же более низких октав будут длиннее - в соответствии с понижением их частот дискретизации, ноты более высоких октав будут короче.

 

 
       
 

Смещение базовой частоты сэмпла - задается выбором ноты из поля Transpose.

Другие параметры сэмпла: Loop - зацикливание - приводит к бесконечному воспроизведению сэмпла остановить которое можно - нажатием клавиши другой ноты, клавиши [F8]. При проигрывании нот таким сэмплом в паттернах звук можно погасить командой ^^ - клавиша [1] при работе в режиме РЕДАКТИРОВАНИЯ ПАТТЕРНА или командой задающей нулевую громкость - 00 в столбце громкости. Параметр Loop может быть только в одном из трех состояний - Off/On Forward/On Pin-Pong- Выключено/Включено прямое воспроизведение/Включено воспроизведение вида с начала до конца - с конца до начала.

Start и End - задают кусок сэмпла, который будет бесконечно повторяться при зацикливании. Значения задаются в байтах от длины сэмпла (len).

 
 

Если Вы вдоволь поэкспериментировали со всеми параметрами сэмплов и Вам все более-менее ясно, то можно двигаться дальше. Теперь мы рассмотрим как применяются различные эффекты в деле - т.е. при воспроизведении композиции. Наша задача - научиться управлять этим процессом задавая нужные эффекты при редактировании паттернов.

Sustain Loop, Start, End - задаются цикл Sustain - удержание звука. Почти то же, что и Loop - но с постепенным затуханием звука.

 

В окошке ниже должен отображаться вид сэмпла (так как Вы его видите при создании в Sound Forge).

 
       
 

Попробуйте загрузить небольшой примерчик композиции - здесь. И мы займемся его рассмотрением.

Скачайте данный пример, распакуйте из архива и откройте из MT.
 
       
 
Предполагаем, что Вы уже запустили MT и открыли данный пример - композиция primer1.it

Перейдите в окно редактирования паттернов - вкладка Patterns. Вы увидите в первом канале набор нот и набор команд.

 

 
       
 

Теперь Вы можете поэкспериментировать - сначала попробуйте воспроизвести то, что есть - [F5]. Хорошо? Тогда стоп - [F8]. Попробуйте что-нибудь изменить - ноты, эффекты, значения параметров эффектов и т.п.

Список всех эффектов смотрите в справочной системе - Help > Contents. Читайте и пробуйте!  
       
 

Ну как? Здорово?!

Теперь Вы уже знаете почти всё для того, чтобы создавать свою музыку. Опыт придёт к Вам по-мере того, как Вы будете экспериментировать!

 
 

 

 
       
       
       
       
  [Предыдущий урок] [Все уроки]  
подробнее

     
  [к содержанию] [далее]  
     
 

Рабочее пространство Adobe Photoshop

 

На рисунке показан типичный вид окна программы Adobe Photoshop 7.0. В других версиях или при пользовательской настройке этот вид может несколько отличаться от указанного расположением и/или внешним видом отдельных элементов, однако их назначение и свойства, в основном будут теми же самыми, что указаны в данном описании.

1 – это строка заголовка окна программы, она всегда содержит в левой части интерактивный значок программы, название приложения, название активного документа (если он открыт). В правом конце строки заголовка три стандартные кнопки: для свертывания/развертывания окна приложения, минимизации/максимизации размера окна приложения на экране, закрытия приложения. Таким образом, эти три кнопки управляют поведением окна программы, а не редактируемых в нем документов!

2 – строка меню – содержит различные команды для выполнения необходимых действий, в основном вся работа ведется через это – Главное меню.

3 – панель свойств текущего (активного) инструмента – отражает дополнительные возможности по использованию текущего инструмента. Инструменты содержатся на панели инструментов (см. пункт 9).

4 – панель (плавающее окно) отражающая уменьшенный вариант редактируемого изображения, используя ее можно менять масштаб изображения перемещая соответствующий движок. Здесь также имеется вкладка Info – открыв ее можно отслеживать некоторые важные параметры редактирования: текущие координаты курсора в изображении, размеры объекта и т.д. Эта панель может быть скрыта/отображена посредством пункта Главного меню – Window > и установкой/снятием флажка напротив пункта Navigator или Info.

5, 6, 7 – также представляют плавающие окна (панели), служащие соответственно:

Color – для задания, выбора или синтеза текущих цветов пера (Foreground) и фона (Background).

History – для отмены/повторения некоторых выполненных или отмененных действий.

Layer – для работы со слоями. Слои представляют собой как бы прозрачные пленки. Рисуя на разных слоях можно создавать многослойные изображения с эффектом глубины (т.е. на переднем плане, на заднем плане и т.д.).

Аналогично панели 4 эти панели также можно скрывать/отображать через Window.

8 – строка состояния – обычно отображает некоторые подсказки по текущему действию или строку прогресса при выполнении каких-либо длительных операций.

9 – панель инструментов (также представляет плавающее окно – т.е. можно легко менять ее положение). Панель инструментов содержит все инструменты рисования и обработки, которые Вы будете применять при создании и редактировании (видоизменении) различных растровых изображений.

 

Назначение отдельных инструментов и пунктов Главного меню программы, а также вся необходимая (и достаточная для профессиональной работы) информация отражена в последующих статьях данного руководства.

 
     
  [к содержанию] [далее]  
     
     
подробнее

Creating game on fle game engine - Simple game / Создание игры на fle game engine - Simple game

8 - Фон переднего плана



Закрываем часть сцены от пустот при помощи черной текстуры с прорезью, ограничиваем перемещение сцены.

read paper in english

Пришло время разобраться с тем, как скрыть часть сцены, чтобы не было видно пустого пространства при её перемещениях.





Содержание

страница 1 - Спрайты

страница 2 - Объекты

страница 3 - Наложение объектов

страница 4 - Код - Настройка параметров Scene Editor fge и написание кода для вывода спрайта шарика в вашем первом игровом приложении

страница 5 - Отображаем прыгающий шарик

страница 6 - Загрузка игровой сцены

страница 7 - Перемещения игровой сцены

страница 8 - Закрываем часть сцены от пустот при помощи черной текстуры с прорезью, ограничиваем перемещение сцены

страница 9 - Реализуем корректное попадание в ямы и около ям - определяем границы спрайтов ям и спрайта прыгаюшего шарика

страница 10 - Проверка столкновений

страница 11 - Игровой счёт, звуки, музыка

урок #2 страница 1 - Создание новых сцен для игры simple game, расширенная версия simple game extended

13. Скроллинг больших локаций

14. использование переменных в игре на c++ directx 9c

15. Мульти анимация







Чтобы закрыть часть сцены мы сделаем 2 вещи.

1) Создадим квадратную текстуру - просто черную, закрывающую всю сцену, но содержащую в себе прорезь, через которую была бы видна эта часть сцены.



Используя Photoshop создадим изображение 1024х1024 пиксель

Заполним черным цветом

Определим размеры 800х600 окна нашего приложения

Я показал это пурпурным цветом -

В области пурпурного цвета разместим черный квадрат 400х400 пиксель - это будет прорезь

Всё остальное зальем белым цветом

Данный слой используем как альфа маску

Т. е. всё что белое - это будет непрозрачным, черное - прозрачным.

Сохраним данный файл как tga.

2) Ограничим перемещение сцены - т. к. если она будет двигаться свободно от края до края экрана, то квадрат с прорезью не поможет.

Для этого в модуле start.cpp методе -

CD3DGameApp::ChangeGameCursorPos

Изменим код -

LONG cursor_spr_left_limit = 218;//0;
LONG cursor_spr_top_limit = 200;//0;
LONG cursor_spr_right_limit = 587;//(LONG)m_dwScreenWidth;
LONG cursor_spr_bottom_limit = 367;//(LONG)m_dwScreenHeight;


Еще конечно в модуль game_sprite.h нужно добавить код для загрузки текстуры с рамкой.

Для этого добавим туда такой код - #define SpriteTexIndex 0 //это строка после которой надо добавить

#define FrameTexIndex 1 //это строка которую надо добавить

void Anim(); //это строка после которой надо добавить

void DrawFrameTex(); //это строка которую надо добавить



В модуль game_sprite.cpp добавим реализацию описанного метода DrawFrameTex

В самый конец модуля добавим такой код -

void CGameSprite::DrawFrameTex()
{
if ( m_pSprite == NULL )
return;

m_pSprite->Begin( D3DXSPRITE_ALPHABLEND );

LPD3D9SPRITE SpriteSprite = NULL;

SpriteSprite = GetGameSprite(FrameTexIndex, m_pTextures);

if ( SpriteSprite != NULL )
{

SpriteSprite->m_v2Vector2ScreenPos.x = SpriteSprite->m_Position.x;
SpriteSprite->m_v2Vector2ScreenPos.y = SpriteSprite->m_Position.y;

D3DXVECTOR2 vPos;
vPos.x = SpriteSprite->m_Position.x;
vPos.y = SpriteSprite->m_Position.y;

Vector2Screen(&vPos, &SpriteSprite->m_v2Vector2ScreenPos);

SpriteSprite->Draw2(SpriteSprite->m_v2Vector2ScreenPos.x,
SpriteSprite->m_v2Vector2ScreenPos.y,
SpriteSprite->m_Position.z,
SpriteSprite->m_Scale.x,
SpriteSprite->m_Scale.y,
255);

}

m_pSprite->End();
}




В папку

simple_game\Media\textures\simple_game\ball\



добавим созданную текстуру - файл frame_tex.tga



А в файл

simple_game\Media\textures\simple_game\tex_list.txt

Добавим её описание -

ball\frame_tex.tga; -1.0f; 1.0f; 0.759f; 1.0f; 1.0f; 1024; 1024; 0; 0; 1; 1.0f; 0.0f;

Там теперь будет две записи -

ball\jump.tga; 0.5f; 0.5f; 0.758f; 0.5f; 0.5f; 64; 128; 0; 0; 4; 8.0f; 14.0f;
ball\frame_tex.tga; -1.0f; 1.0f; 0.759f; 1.0f; 1.0f; 1024; 1024; 0; 0; 1; 1.0f; 0.0f;

Первая относится к описанию спрайта нашего прыгающего шарика, а вторая - к рамке, закрывающей часть сцены.

Также обратите внимание, что для шарика я задал координату z = 0.758f

А для рамки - z = 0.759f;

Это сделано для того, чтобы шарик появлялся над рамкой, но в то же время все объекты сцены оказывались за ней.

Как это выглядит визуально Вы сейчас увидите.

Если Вы сделали всё правильно, то после сборки проекта и его запуска Вы увидите на экране такую сцену.



В заключение внесу небольшую поправку - для шарика надо задать z = 0.761f, иначе он не будет перекрываться верхней частью ямы, имитирующей падение.

ball\jump.tga; 0.4f; 0.5f; 0.761f; 0.5f; 0.5f; 64; 128; 0; 0; 4; 8.0f; 14.0f;


В этом случае шарик уже будет перекрываться черной рамкой если выйдет за её пределы. Но мы это оставим пока как есть. К тому же, по-аналогии с ограничением перемещений сцены, мы можем ограничить и перемещения шарика.

Далее Вы узнаете как имитировать падение шарика в ямы и как скрывать верхнюю часть ямы, когда шарик целиком не попал в яму, чтобы обеспечить корректный вывод этой ситуации визуально.

Я решил немного облагородить внешний вид нашей игры и черный фон заменил на более интересный - игра стала выглядеть привлекательнее.



[назад] [далее]



подробнее

     
  Другие уроки можно посмотреть в разделе Статьи  
     
 

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

казалось бы - что может быть проще - обычный checkbox - - но оказывается надо учитывать несколько особенностей для корректной работы с этим элементом управления на ваших Web-страничках

 
     
 

В предыдущем уроке - Использование checkbox мы познакомились с простым элементом управления для установки состояний вида Да/Нет

Однако как оказалось нужно учитывать не только особенности работы самих элементов управления web-страницами представленных тегом <input>, но и web форм - <form>.

 
     
 

В данном уроке мы рассмотрим следующие особенности:

- как работают веб-формы;

- как читать/сохранять данные веб-форм в файл;

- как читать/сохранять данные веб-форм в базу данных;

 
     
 

Для начала попробуем создать простейшую веб-форму содержащую знакомый нам checkbox, но чтобы состояние checkbox'а не пропадало бесследно, а сохранялось бы (и читалось бы) из файла.

Вот пример кода на php для реализации этой цели (файл называется checkbox4.php)

 
     
 

<HTML>
<HEAD>
<TITLE>Отслеживаем состояние checkbox'a в файле</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
</HEAD>
<BODY>

<div style="width: 990px; margin: 0 auto; background: #777777;">
<div style="width: 900px; margin: 0 auto; background: #aaaaaa;">

<?php

/* Особенность работы checkbox'а

если чекбокс установлен - при отправке данных формы передается его значение value
если чекбокс не установлен - при отправке данных формы не передается ничего !!!

читаем/сохраняем состояние checkbox'а из файла

*/

//первым делом объявляем константу - имя файла где будем хранить состояние checkbox

//обратите внимание - нужно вручную создать папку data т. к. функция fopen с параметром w не умеет //создавать сразу и папку и вложенный в неё файл !!!
define (CHECKBOX_STATE_FILENAME, 'data/checkbox_state.txt');

//эта функция у нас читает состояние чекбокса из файла и возвращает значение $state
function read_state()
{
$state = 0;

if ( file_exists(CHECKBOX_STATE_FILENAME) )
{

$handler = fopen(CHECKBOX_STATE_FILENAME, "r");
$state = fread($handler, filesize(CHECKBOX_STATE_FILENAME));
fclose($handler);

}

return $state;
}

//эта функция - запишет состояние $state чекбокса в файл, если файла нет - он будет создан

//обратите внимание еще раз !!! папку data вы должны предварительно создать сами иначе код не будет //работать корректно !!!

//т. к. функция fopen с параметром w не умеет создавать сразу и папку и вложенный в неё файл !!!

function write_state($state)
{
//$state = 0;

$handler = fopen(CHECKBOX_STATE_FILENAME, "w");
fwrite($handler, $state);
fclose($handler);


//return $state;
}

//Эта функция нужна нам чтобы вывести фразу - Флажок установлен (сброшен)
function show_flag_state($state)
{
$state_phrase = $state ? "установлен" : "сброшен";
echo "Флажок был ".$state_phrase." <br>";
}

//читаем состояние флажка в переменную $published
$published = read_state();
//для атрибута checked задаем пустую строку
$checked = '';

//если флажок установлен
if ( $published )
{

//задаем атрибут checked
$checked = 'checked = "checked"';

}

//эта переменная нужна просто для указания части имени для checkbox'а
$num = 1;

//если была нажата кнопка Сохранить в веб форме

if ( $_POST['save'] )
{

//выставляем переменную $state в 1 или 0 в зависимости от установленности $_POST['published-'.$num]
$state = isset($_POST['published-'.$num]) ? 1 : 0;

//сохраняем значение флажка в файл
write_state($state);

//выводим фразу о том, что произошло
show_flag_state($state);

//выводим ссылку для возврата на страницу
echo "<br><a href='checkbox4.php'>вернуться</a>";
}
else {

//если страница была только что открыта (или обновлена) без нажатия кнопки Сохранить в форме

//выводим нашу веб-форму дав ей имя save_changes

//страницу обработчик - указываем саму себя - checkbox4.php

//метод отправки данных формы - ПОСТ
echo "<form name='save_changes' action = 'checkbox4.php' method = 'POST'>";

//выводим чекбокс
echo "<input type=\"checkbox\" ".$checked." name=\"published-".$num."\" value=\"".$published."\">";

//выводим кнопку Сохранить изменения
echo "<input type = 'submit' value = 'Сохранить изменения' name='save'>

//закрываем форму закрывающим тегом
</form>";
}


?>
</div>
</div>

</BODY>
</HTML>

 
     
 

Это чудо работает таким образом - если зададим состояние чекбокса и нажмём кнопку <Сохранить изменения>, то фраза Флажок установлен или сброшен - будет показывать состояние чекбокса.

Само состояние чекбокса будет браться из файла data/checkbox_state.txt

В файл будет заноситься 1 или 0 в зависимости от установленности (сброшенности) чекбокса.

Главная особенность веб-форм состоит в том, что результат выполнения операции бывает невозможно показать на странице с тем же состоянием - как правило требуется отдельная страница или вынесение кода для показа результата в отдельный условный блок кода.

Работающий пример на php смотрите тут - checkbox4.php

ВОТ и ВСЁ на сегодня. Ждите новых уроков.

 
     
  Другие уроки можно посмотреть в разделе Статьи  
     
     
 
red авто
  Методы создания растровых изображений в Adobe Photoshop (урок 1). - как начать рисовать в Photoshop - первый урок для тех, кто делает первый шаг в изучении Photoshop.
     
Фотореалистичные текстуры
  Создание фотореалистичных текстур (урок 2).
     
бесшовная трава
  Создание бесшовных текстур (урок 3)
     
огонь, вода, небо
  Создание изображений огня, воды и неба (урок 4)
     
текстуры поверхностей
  Создание текстур поверхностей суши и горных пород (урок 5)
     
Персонаж 6 урока
  Рисование персонажей в Corel Draw (урок 6)
     
Заставка 6 урока_2
  Рисование фона в Corel Draw (урок 6 часть 2) 
     
рельефная кнопка
  Методика создания рельефных изображений - Как создать рельеф и объем средствами Photoshop.
 
     
megainformatic live chat
Начать беседу
X
 

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



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


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