C++ и C#
PaintKiller
Дата: Воскресенье, 06.03.2011, 09:14 | Сообщение # 1
Сообщений: [1738]
Задаём сюда вопросы по C++.
Serafim
Дата: Вторник, 24.05.2011, 22:17 | Сообщение # 2
Сообщений: [141]
В чем можно программировать на С++? Дайте, пожалуйста, совет и ссылку, если можно
Filinshein
Дата: Вторник, 24.05.2011, 23:36 | Сообщение # 3
Сообщений: [2138]
Microsoft Visual C++...
dimas
Дата: Понедельник, 04.07.2011, 15:10 | Сообщение # 4
Сообщений: [10]
можно в CODE:BlLOCS
Hagrael
Дата: Понедельник, 04.07.2011, 16:20 | Сообщение # 5
Сообщений: [1475]
Согласен, Code::Blocks куда удобнее. Однако в Code::Blocks не стоит нажимать на кнопку "Run" (F9), а стоит вместо этого нажимать "Rebuild" (Ctrl+F11), а после того, как проект перекомпилируется, нажать кнопку "Run" (не "Build and run"!) (Ctrl+F10). Если нажмешь "Build and run", то в первые разы твой проект будет компилироваться, а в последующие - нет.
George & Daniel: Война сухофруктов
dimas
Дата: Понедельник, 04.07.2011, 17:37 | Сообщение # 6
Сообщений: [10]
Hagrael , да налетал на такое,но коди дорабатывается поэтому такое исправят в версии 10
Hagrael
Дата: Понедельник, 04.07.2011, 18:09 | Сообщение # 7
Сообщений: [1475]
dimas , не знал, что над ним еще работают! Круть!
George & Daniel: Война сухофруктов
GD
Дата: Вторник, 10.01.2012, 15:13 | Сообщение # 8
( Откуда, дует? )
Сообщений: [289]
Как зделать подстветку текста на С#?
tukan
Дата: Вторник, 01.07.2014, 17:19 | Сообщение # 9
( sculTech )
Сообщений: [4]
Как сделать в SFML свет (освещение) желательно с примером. ПРОШУ ПОМОГИТЕ ТРИ ДНЯ ДОЛБАЮСЬ!!! Я нашел вот эту либу SFML Light System для динамического освещения уровня по скринам все классно, но при компиляции кода Студия жестко матерится вот посмотрите: Цитата
1> main.cpp 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: __thiscall Vec2f::Vec2f(float,float)" (??0Vec2f@@QAE@MM@Z)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: __thiscall AABB::AABB(class Vec2f const &,class Vec2f const &)" (??0AABB@@QAE@ABVVec2f@@0@Z)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: void __thiscall ltbl::LightSystem::RenderLightTexture(void)" (?RenderLightTexture@LightSystem@ltbl@@QAEXXZ)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: void __thiscall ltbl::LightSystem::RenderLights(void)" (?RenderLights@LightSystem@ltbl@@QAEXXZ)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: void __thiscall ltbl::LightSystem::AddEmissiveLight(class ltbl::EmissiveLight *)" (?AddEmissiveLight@LightSystem@ltbl@@QAEXPAVEmissiveLight@2@@Z)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: void __thiscall ltbl::LightSystem::AddConvexHull(class ltbl::ConvexHull *)" (?AddConvexHull@LightSystem@ltbl@@QAEXPAVConvexHull@2@@Z)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: void __thiscall ltbl::LightSystem::AddLight(class ltbl::Light *)" (?AddLight@LightSystem@ltbl@@QAEXPAVLight@2@@Z)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: void __thiscall ltbl::LightSystem::SetView(class sf::View const &)" (?SetView@LightSystem@ltbl@@QAEXABVView@sf@@@Z)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: __thiscall ltbl::LightSystem::~LightSystem(void)" (??1LightSystem@ltbl@@QAE@XZ)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: __thiscall ltbl::LightSystem::LightSystem(class AABB const &,class sf::RenderWindow *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0LightSystem@ltbl@@QAE@ABVAABB@@PAVRenderWindow@sf@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@2@Z)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: void __thiscall ltbl::Light::SetAlwaysUpdate(bool)" (?SetAlwaysUpdate@Light@ltbl@@QAEX_N@Z)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: void __thiscall ltbl::Light::SetCenter(class Vec2f)" (?SetCenter@Light@ltbl@@QAEXVVec2f@@@Z)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: void __thiscall ltbl::EmissiveLight::SetRotation(float)" (?SetRotation@EmissiveLight@ltbl@@QAEXM@Z)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: void __thiscall ltbl::EmissiveLight::SetCenter(class Vec2f const &)" (?SetCenter@EmissiveLight@ltbl@@QAEXABVVec2f@@@Z)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: void __thiscall ltbl::EmissiveLight::SetTexture(class sf::Texture *)" (?SetTexture@EmissiveLight@ltbl@@QAEXPAVTexture@sf@@@Z)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: __thiscall ltbl::EmissiveLight::EmissiveLight(void)" (??0EmissiveLight@ltbl@@QAE@XZ)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: void __thiscall ltbl::ConvexHull::SetWorldCenter(class Vec2f const &)" (?SetWorldCenter@ConvexHull@ltbl@@QAEXABVVec2f@@@Z)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: void __thiscall ltbl::ConvexHull::CalculateAABB(void)" (?CalculateAABB@ConvexHull@ltbl@@QAEXXZ)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: void __thiscall ltbl::ConvexHull::CalculateNormals(void)" (?CalculateNormals@ConvexHull@ltbl@@QAEXXZ)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: bool __thiscall ltbl::ConvexHull::LoadShape(char const *)" (?LoadShape@ConvexHull@ltbl@@QAE_NPBD@Z)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: __thiscall ltbl::ConvexHull::ConvexHull(void)" (??0ConvexHull@ltbl@@QAE@XZ)" 1>main.obj : error LNK2001: неразрешенный внешний символ ""public: __thiscall ltbl::Light_Point::Light_Point(void)" (??0Light_Point@ltbl@@QAE@XZ)" 1>E:\Egor\projects\[labX3]\[labX3]\Release\[labX3].exe : fatal error LNK1120: неразрешенных внешних элементов: 22
а вот мой код: Код
#include <LTBL/Light/LightSystem.h> #include <LTBL/Light/Light_Point.h> #include <LTBL/Utils.h> #include <assert.h> #include <SFML/Graphics.hpp> #include <sstream> int main(int argc, char* args[]) { sf::VideoMode vidMode; vidMode.width = 800; vidMode.height = 600; vidMode.bitsPerPixel = 32; assert(vidMode.isValid()); sf::RenderWindow win; win.create(vidMode, "Let there be Light - Demo"); sf::View view; sf::Vector2u windowSize(win.getSize()); view.setSize(sf::Vector2f(static_cast<float>(windowSize.x), static_cast<float>(windowSize.y))); view.setCenter(view.getSize() / 2.0f); // ---------------------- Background Image --------------------- sf::Texture backgroundImage; assert(backgroundImage.loadFromFile("data/background.png")); // Tiling background backgroundImage.setRepeated(true); sf::Sprite backgroundSprite(backgroundImage); backgroundSprite.setTextureRect(sf::IntRect(0, 0, vidMode.width * 2, vidMode.height * 2)); backgroundSprite.setPosition(-400.0f, -400.0f); // --------------------- Light System Setup --------------------- ltbl::LightSystem ls(AABB(Vec2f(0.0f, 0.0f), Vec2f(static_cast<float>(vidMode.width), static_cast<float>(vidMode.height))), &win, "data/lightFin.png", "data/shaders/lightAttenuationShader.frag"); // Create a light ltbl::Light_Point* testLight = new ltbl::Light_Point(); testLight->m_intensity = 2.0f; testLight->m_center = Vec2f(200.0f, 200.0f); testLight->m_radius = 600.0f; testLight->m_size = 15.0f; testLight->m_spreadAngle = ltbl::pifTimes2; testLight->m_softSpreadAngle = 0.0f; testLight->CalculateAABB(); testLight->m_bleed = 0.4f; testLight->m_linearizeFactor = 0.2f; ls.AddLight(testLight); testLight->SetAlwaysUpdate(true); // Create a light ltbl::Light_Point* testLight2 = new ltbl::Light_Point(); testLight2->m_center = Vec2f(200.0f, 200.0f); testLight2->m_radius = 500.0f; testLight2->m_size = 30.0f; testLight2->m_color.r = 0.5f; testLight2->m_intensity = 1.5f; testLight2->m_spreadAngle = ltbl::pifTimes2; testLight2->m_softSpreadAngle = 0.0f; testLight2->CalculateAABB(); ls.AddLight(testLight2); testLight2->SetAlwaysUpdate(false); // Create an emissive light ltbl::EmissiveLight* emissiveLight = new ltbl::EmissiveLight(); sf::Texture text; if(!text.loadFromFile("data/emissive.png")) abort(); emissiveLight->SetTexture(&text); emissiveLight->SetRotation(45.0f); emissiveLight->m_intensity = 1.3f; ls.AddEmissiveLight(emissiveLight); emissiveLight->SetCenter(Vec2f(500.0f, 500.0f)); // Create a hull by loading it from a file ltbl::ConvexHull* testHull = new ltbl::ConvexHull(); if(!testHull->LoadShape("data/testShape.txt")) abort(); // Pre-calculate certain aspects testHull->CalculateNormals(); testHull->CalculateAABB(); testHull->SetWorldCenter(Vec2f(300.0f, 300.0f)); testHull->m_renderLightOverHull = true; ls.AddConvexHull(testHull); // ------------------------- Game Loop -------------------------- sf::Event eventStructure; bool quit = false; ls.m_useBloom = true; while(!quit) { while(win.pollEvent(eventStructure)) if(eventStructure.type == sf::Event::Closed) { quit = true; break; } if(sf::Keyboard::isKeyPressed(sf::Keyboard::A)) view.move(sf::Vector2f(-1.0f, 0.0f)); else if(sf::Keyboard::isKeyPressed(sf::Keyboard::D)) view.move(sf::Vector2f(1.0f, 0.0f)); if(sf::Keyboard::isKeyPressed(sf::Keyboard::W)) view.move(sf::Vector2f(0.0f, -1.0f)); else if(sf::Keyboard::isKeyPressed(sf::Keyboard::S)) view.move(sf::Vector2f(0.0f, 1.0f)); sf::Vector2i mousePos = sf::Mouse::getPosition(win); //testLight2->IncCenter(ltbl::Vec2f(0.1f, 0.0f)); // Update light testLight->SetCenter(Vec2f(static_cast<float>(mousePos.x), static_cast<float>(vidMode.height) - static_cast<float>(mousePos.y))); win.clear(); win.setView(view); ls.SetView(view); // Draw the background win.draw(backgroundSprite); // Calculate the lights ls.RenderLights(); // Draw the lights ls.RenderLightTexture(); //ls.DebugRender(); win.display(); } win.close(); }
что делать?
Andrey1973
Дата: Понедельник, 13.06.2016, 20:52 | Сообщение # 10
Сообщений: [1]
Привет, всем! Кто-нибудь может посоветовать с чего начать новичку в С++ от простого к сложному. Моя цель добавить класс танк в исходник игры RTCW на движке 3 квейка арена и возможность отдавать приказы ботам и танку в игре и возможно ли это осуществить?
AI_Developer
Дата: Вторник, 14.06.2016, 12:16 | Сообщение # 11
Сообщений: [9]
Привет. Для изучения основ C++ рекомендую изучить на базовом уровне технический английский или научиться качественно переводить английский текст в Google Translate. В изучении основ С++ рекомендуется использовать книгу Beginning C++ - Ivor Horton (2014) и среду разработки Qt 5 с компилятором GCC на базе MinGW. В качестве совета по изучении С++: 1. Ходит легенда что для изучении С++ требуется не одна сотня а то и тысяча лет. - Это всего лишь легенда, которая не должна Вас пугать. 2. В момент обучения желательно отключиться от генерации идей основанных на полученном опыте в С++ до момента завершения изучения основ языка. 3. Теория и практика ключ к успеху изучения основ С++. 4. Сосредоточитесь на том чтобы не выучить С++, а понять его. Понимания принципов С++ даёт намного большее преимущество чем его зубрежка. Удачи в обучении!
CEO in FireRiders
IO2017
Дата: Пятница, 10.02.2017, 18:26 | Сообщение # 12
Сообщений: [1]
Керниган и Ричи в помощь....
Ырь Чдрумжан штакмысхет маньрюлга! Передай там - кто вдруг усомнился. Ты на правильных землях родился, звездолёт, штахет, партбилет...