Суббота, 16 Ноября 2024, 04:31

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос-Ответ (C++)
KornivalДата: Воскресенье, 04 Сентября 2011, 19:10 | Сообщение # 1
The Witcher
Сейчас нет на сайте
Чтобы не создавать отдельную тему на каждый глупый вопрос, предлагаю задавать их здесь.

Saitei: все вопросы по С задаём в теме Вопрос-Ответ (С). Благодарю за внимание!
Vq_SetДата: Четверг, 12 Июля 2012, 09:33 | Сообщение # 541
частый гость
Сейчас нет на сайте
goldsphere, ты что вообще творишь? Какое консольное? Ты с SDL работаешь! Слов нет!
Code
1>LINK : fatal error LNK1561: точка входа должна быть определена

Функция main где? При чем тип должен быть int!


Сообщение отредактировал Vq_Set - Четверг, 12 Июля 2012, 09:40
goldsphereДата: Четверг, 12 Июля 2012, 09:44 | Сообщение # 542
заслуженный участник
Сейчас нет на сайте
Quote (Vq_Set)
Функция main где? При чем тип должен быть int!

что значит где?На своём месте, тип int.
вот код если что:


FinderX - Android Аркада
RUNGOGET2THECHOPAHДата: Четверг, 12 Июля 2012, 12:14 | Сообщение # 543
участник
Сейчас нет на сайте
goldsphere, операционка 64-битная? Попробуй подключить .либ-файлы для 32-х разрядной винды. И убери ты эти принтэфы, они тут не нужны.

Сообщение отредактировал RUNGOGET2THECHOPAH - Четверг, 12 Июля 2012, 12:18
ArchidoДата: Четверг, 12 Июля 2012, 13:50 | Сообщение # 544
Сэнсэй
Сейчас нет на сайте
goldsphere
Создай Win32 Project, выпили там все лишнее и оставь только ф-цию WinMain (...) и там пиши код, касаемый SDL. Должно быть все ок.


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
Lord_ZeonДата: Четверг, 12 Июля 2012, 13:53 | Сообщение # 545
частый гость
Сейчас нет на сайте
goldsphere,
Для начала у тебя нет аргументов функции main.
Code
int main(int argc, char** argv)

Далее в Свойствах проекта Компоновщик\Система\Подсистема - Должна быть выставлена Windows (/SUBSYSTEM:WINDOWS).
Ну и конечно же не забыть подключить либы SDLmain.lib SDL.lib
Все должно заработать.
DemeronДата: Четверг, 12 Июля 2012, 14:03 | Сообщение # 546
User created in C++
Сейчас нет на сайте
Quote (Lord_Zeon)
Для начала у тебя нет аргументов функции main.

задавать аргументы не обязательно
Quote (Lord_Zeon)
Должна быть выставлена Windows (/SUBSYSTEM:WINDOWS).

для Windows не main, а WinMain главная функция
Lord_ZeonДата: Четверг, 12 Июля 2012, 14:13 | Сообщение # 547
частый гость
Сейчас нет на сайте
Demeron,
Quote (Demeron)
для Windows не main, а WinMain главная функция

Тут ты прав, у меня работает с обоими Подсистемами.

А вот без аргументов не компилируется.
KwantДата: Четверг, 12 Июля 2012, 14:49 | Сообщение # 548
почетный гость
Сейчас нет на сайте
Ну, /SUBSYSTEM: - это опция, которая указывает операционной системе, как запускать исполняемый файл.
И как пишет MSDN:

CONSOLE
Win32 character-mode application. Console applications are given a console by the operating system. If main or wmain is defined, CONSOLE is the default.

WINDOWS
Application does not require a console, probably because it creates its own windows for interaction with the user. If WinMain or wWinMain is defined, WINDOWS is the default.

Quote (Demeron)
для Windows не main, а WinMain главная функция

В win, WinMain - не босс )

Quote (Lord_Zeon)
А вот без аргументов не компилируется.

С пустым WinMain - не собрать:
int CALLBACK WinMain(
__in HINSTANCE hInstance,
__in HINSTANCE hPrevInstance,
__in LPSTR lpCmdLine,
__in int nCmdShow
);
goldsphereДата: Четверг, 12 Июля 2012, 17:08 | Сообщение # 549
заслуженный участник
Сейчас нет на сайте
Я забыл, что на этой машине 32 разрядная семёрка стоит, поставил 64x SDL.Правда не могу никак найти 32 разрядный SDL. Гугл какую-то левую прогу выдаёт SDL passolo.Никто ссылкой не поможет?
Quote (Archido)
goldsphere
Создай Win32 Project, выпили там все лишнее и оставь только ф-цию WinMain (...) и там пиши код, касаемый SDL. Должно быть все ок.

К сожалению не ок.
Quote (Lord_Zeon)
Для начала у тебя нет аргументов функции main.

Я и с ними пробывал.


FinderX - Android Аркада

Сообщение отредактировал goldsphere - Четверг, 12 Июля 2012, 17:09
KwantДата: Четверг, 12 Июля 2012, 17:24 | Сообщение # 550
почетный гость
Сейчас нет на сайте
Runtime Libraries:
SDL-1.2.15-win32

Development Libraries:
SDL-devel-1.2.15-VC
SDL-devel-1.2.15-mingw32


Сообщение отредактировал Kwant - Четверг, 12 Июля 2012, 17:25
goldsphereДата: Четверг, 12 Июля 2012, 17:47 | Сообщение # 551
заслуженный участник
Сейчас нет на сайте
Спасибо, вообщем я разобрался в чём моя глупость, конечно не сам мне помогли люди из конференции за что им и вам большое спасибо)

FinderX - Android Аркада
imperator12Дата: Суббота, 14 Июля 2012, 16:17 | Сообщение # 552
почетный гость
Сейчас нет на сайте
Помогите плиз. У меня есть спрайт(2 треугольника с натянутой текстурой) и мне нид на спрайте был только рисунок буз фона. Я загружаю картинку png 32битну с альфа каналом фон прозрачный.Но в програме фон всеравно показуется. Подскажите что нид делать ведь альфа смешывание включил чтобы альфа канал брался из текстуры тоже. Использую Directx 9.
ArchidoДата: Суббота, 14 Июля 2012, 16:21 | Сообщение # 553
Сэнсэй
Сейчас нет на сайте
imperator12
Мм, еще бы орфографию поправить и запятые прикрутить, и было бы норм wink . А так давай показывай код smile , ибо июль на дворе - отпуска, телепаты сам знаешь где...


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
InsonexДата: Суббота, 14 Июля 2012, 16:31 | Сообщение # 554
частый гость
Сейчас нет на сайте
imperator12, какой формат рисунка? Если *jpg, то оно и понятно, почему фон видно. А чтобы исправить - формат должен быть *png. А если у тебя и так уже *png, то, к сожалению, я не знаю как тебе помочь.
imperator12Дата: Суббота, 14 Июля 2012, 16:38 | Сообщение # 555
почетный гость
Сейчас нет на сайте
Вот напрмер ету картинку хочу загрузить
Code
dev->SetTextureStageState(0,D3DTSS_ALPHAARG1,D3DTA_TEXTURE);
dev->SetTextureStageState(0,D3DTSS_ALPHAOP,D3DTOP_SELECTARG1);
(dev)->SetSamplerState(0,D3DSAMP_MAGFILTER,D3DTEXF_ANISOTROPIC);
  (dev)->SetSamplerState(0,D3DSAMP_MINFILTER,D3DTEXF_ANISOTROPIC);
  (dev)->SetSamplerState(0,D3DSAMP_MAXANISOTROPY,1);
  dev->SetRenderState(D3DRS_ALPHABLENDENABLE,true);


код настройки рендеринга и текстур а создание треугольников там код стандартный.

P.S. Руский никогда не учил потому и ошибок много.
ArchidoДата: Суббота, 14 Июля 2012, 16:47 | Сообщение # 556
Сэнсэй
Сейчас нет на сайте
Тут ты пытаешься двумя разными способами это сделать. Если используешь Alpha Blending, то можешь убрать первые две строчки и добавить после "dev->SetRenderState(D3DRS_ALPHABLENDENABLE,true);" вот это:
Code

dev->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCCOLOR);
dev->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCCOLOR);


Если не поможет, то еще неплохо было бы увидеть как загружается и создается данная текстура.


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
imperator12Дата: Суббота, 14 Июля 2012, 16:53 | Сообщение # 557
почетный гость
Сейчас нет на сайте
Не помогло. Вот код загрузки текстур
Code
D3DXCreateTextureFromFileEx(dev,name,D3DX_DEFAULT_NONPOW2,D3DX_DEFAULT_NONPOW2,1,     
      0 ,
      D3DFMT_A8R8G8B8,     
      D3DPOOL_DEFAULT,     
      D3DX_DEFAULT,     
      D3DX_DEFAULT,     
      0 ,
      NULL,     
      NULL,     
&tex);


Все разобрался Archido спасибо за помощ. Но надо было добавить вот что еще
Code
dev->SetRenderState( D3DRS_BLENDOP, D3DBLENDOP_ADD );   
        dev->SetRenderState( D3DRS_SRCBLEND,  D3DBLEND_SRCALPHA );   
        dev->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA );


Сообщение отредактировал imperator12 - Суббота, 14 Июля 2012, 17:07
ArchidoДата: Суббота, 14 Июля 2012, 17:07 | Сообщение # 558
Сэнсэй
Сейчас нет на сайте
Мм, не очень люблю я D3DX. Попробуй загрузить ее без ненужных параметров ф-цией D3DXCreateTextureFromFile , там ничего лишнего не указывается.

Картинку в фотошопе делал? Там альфаканал странный, его надо бы переделать. Черный цвет означает 100% прозрачность, белый 0% прозрачность соответственно.

...

Протормозил с ответом happy

P.S. Тьфу блин! Я там Color с Alpha перепутал, а D3DRS_BLENDOP не нужен.


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)

Сообщение отредактировал Archido - Суббота, 14 Июля 2012, 17:17
imperator12Дата: Суббота, 14 Июля 2012, 17:17 | Сообщение # 559
почетный гость
Сейчас нет на сайте
Quote (Archido)
Протормозил с ответом
Всеравно спс еслиб ты не спросил про загрузку текстуры то я бы никогда не нашел что нид делать.
GavolotДата: Воскресенье, 15 Июля 2012, 02:17 | Сообщение # 560
Последователь Тени
Сейчас нет на сайте
Люди, все-таки я конечно кое в чем даже продвинулся, кое-что по гуглил, кое-что прочитал и врубился как менять цвет в консоли, как целые строчки затирать цветом или символом, но так и не врубился, а как можно сделать эту затирку плавно. Я пытался средствами win.api насколько его знаю, сделать эту самую затирку текста, но ни фига, он затирает консоль точно так-же с морганием как если бы это сделал system("cls");

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


В общем что-то делаю, но пока не пойму ни как :)
Тень - выражение основной сущности человека.
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг