Результаты поиска
| |
Dmi7ry | Дата: Суббота, 31 Августа 2013, 08:45 | Сообщение # 21 | Тема: В Unity3d теперь будут встроенные 2D возможности. |
почетный гость
Сейчас нет на сайте
| gazer прав, говоря, что некорректно сравнивать GML и C#. Это совершенно разные вещи. Начиная от того, что GML - это внутренний язык GM, а Шарп - язык общего назначения, GML - скриптовый язык, а Шарп - компилируемый ООП и заканчивая тем, что GML вне GM не существует. У них принципиально разное предназначение. Сравнивать можно только конкурирующие (из одной ниши) вещи. При этом, не смотря на всё, разработка на GM/GML может быть весьма хорошим источником дохода. Например, мой ежемесячный доход за разработку на GML исчисляется шестизначной суммой. При этом я более-менее свободно пишу на нескольких языках и за всё время приходилось использовать примерно 20 различных языков программирования. Так что не нужно недооценивать GML. Для своей ниши он подходит идеально. Он не лучше и не хуже Шарпа - у них разное предназначение.
|
|
| |
Dmi7ry | Дата: Суббота, 31 Августа 2013, 08:32 | Сообщение # 22 | Тема: Пишу уроки? |
почетный гость
Сейчас нет на сайте
| Цитата (GameLoper) в 1-ых то что ты спамишь, так ты ещё спамишь легкие курсы Какая буйная школота на этом форуме... Во-первых, эта ссылка не была спамом и не была рекламой. Во-вторых, этот курс - вольная подача полного официального курса, достаточный, чтобы получить официальный сертификат. И я на 100% уверен, что этот курс даст гораздо больше знаний, чем есть в вашей пустой голове. В-третьих, лучше поучите русский язык - будет гораздо больше пользы, чем от просиживания на этом форуме. Если за всю жизнь вы даже его не выучили, то об остальном и говорить нечего. В-четвёртых, никому не нужны уроки от того, кто сам ничего не знает. Соответственно, источник их будет понятен - копипаста/реврайт с других сайтов. В-пятых, от ваших недоуроков пользы будет гораздо меньше, чем от полноценного курса. На сколько вас хватит? На один урок? Или на полтора? Сомнительно, что больше. Может покажете своё портфолио, чтобы мы могли заценить ваш уровень владения перечисленными в опросе языками?
|
|
| |
Dmi7ry | Дата: Суббота, 31 Августа 2013, 07:21 | Сообщение # 23 | Тема: Пишу уроки? |
почетный гость
Сейчас нет на сайте
| Цитата (Levrite) Пили по джаве Можете пройти бесплатный курс на hexlet
Сообщение отредактировал Dmi7ry - Суббота, 31 Августа 2013, 07:22 |
|
| |
Dmi7ry | Дата: Вторник, 27 Августа 2013, 13:52 | Сообщение # 24 | Тема: Перетаскивание объекта мышкой |
почетный гость
Сейчас нет на сайте
| держите
|
|
| |
Dmi7ry | Дата: Пятница, 23 Августа 2013, 15:00 | Сообщение # 25 | Тема: Вопрос - Ответ (Game Maker) |
почетный гость
Сейчас нет на сайте
| Цитата (djavaigames) и что содержится в переменной a? collision_rectangle возвращает id объекта, с которым происходит столкновение.
Цитата (djavaigames) только в родительском объекте enemy_obj не работает вероятно, событие родительского объекта не вызывается из-за того, что это же событие есть у дочерних объектов (оно "заменяет" событие родителя). чтобы выполнить событие родителя, нужно в необходимом событии дочернего объекта выполнить event_inherited()Добавлено (23.08.2013, 15:00) ---------------------------------------------
Цитата (Krosos) Проблема наверное в том , что объект родитель не существует в комнате объект принципиально не может существовать в комнате. в комнате существуют только экземпляры.
|
|
| |
Dmi7ry | Дата: Пятница, 23 Августа 2013, 12:46 | Сообщение # 26 | Тема: Вопрос - Ответ (Game Maker) |
почетный гость
Сейчас нет на сайте
| Цитата (djavaigames) Сделал так, но возникла новая проблема - не знаю, как тогда удалить экземпляр пули при столкновении. так: Код a=collision_rectangle(bbox_left, bbox_top, bbox_right, bbox_bottom, obj_bullet, false, true) if a>0 { with (a) { instance_destroy() } // свои действия }
|
|
| |
Dmi7ry | Дата: Пятница, 23 Августа 2013, 10:52 | Сообщение # 27 | Тема: Цепная молния |
почетный гость
Сейчас нет на сайте
| Цитата (nekroo98) Спасибо за пример, но это не то. Создатель молнии, и враг, на которого она направлена определяются в первую очередь, по ним уже создается обьект-молния, и тд. При этом молния перебрасывается 3 раза максимум, не учитывая столкновения с обьектами вообще никак. Да, собственно, переделать - дело десяти минут, но вам, похоже, нужно, чтобы за вас полностью всё сделали...
|
|
| |
Dmi7ry | Дата: Пятница, 23 Августа 2013, 06:38 | Сообщение # 28 | Тема: Вопрос - Ответ (Game Maker) |
почетный гость
Сейчас нет на сайте
| Цитата (Krosos) if object_get_parent(id)=AI_Warrior {scr_Phase2E() } в качестве параметра функции должен идти id объекта, а не id экземпляра, поэтому нужно прописывать object_index вместо id: Код object_get_parent(object_index) Добавлено (23.08.2013, 06:38) --------------------------------------------- djavaigames, для пуль можно просто в end step персонажа проверять столкновение через collision_rectangle c указанием bbox_... что-то вроде этого: Код if collision_rectangle(bbox_left, bbox_top, bbox_right, bbox_bottom, obj_bullet, false, true)>0 { // столкновение с пулей есть }
|
|
| |
Dmi7ry | Дата: Четверг, 22 Августа 2013, 17:11 | Сообщение # 29 | Тема: Вопрос - Ответ (Game Maker) |
почетный гость
Сейчас нет на сайте
| Цитата (GameMix) draw_sprite(sprite_index, image_index, x, y); этот вариант не реагирует на поворот, масштабирование и другие параметры. если они необходимы, то нужно использовать Код draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha)
|
|
| |
Dmi7ry | Дата: Четверг, 22 Августа 2013, 17:08 | Сообщение # 30 | Тема: Цепная молния |
почетный гость
Сейчас нет на сайте
| Как-то делал что-то похожее. пример Может на какие-то мысли натолкнёт.
|
|
| |
Dmi7ry | Дата: Четверг, 22 Августа 2013, 00:28 | Сообщение # 31 | Тема: Какой выбрать? |
почетный гость
Сейчас нет на сайте
| Цитата (NancyWithoutSid) Опять же. О чем вы? Какие коммерческие продукты на basic? Да проще на березе повеситься. Даже если это будет васик, то это будут чистые вызовы .Net framework. Это уже некрофилия реально, как и паскалец. Начинать надо с Си(если вам не 12 лет). А если вы еще не адекватны в силу возраста, то берите пейтон, или JS + HTML. Ассемблер ТОЛЬКО после си. При чем по началу inline, чтобы совсем не было травмы мозга. Во многом также не согласен с тем постом - если будет время, то откомментирую его. Во многом понимаю ваши ответы автору поста. Однако с этим не соглашусь, ибо это противоречит моему собственному опыту. С вашего позволения, немного расскажу о нём. Я начинал с Бэйсика. Не помню, сколько времени я на нём писал - это было примерно 24 года назад. Помню, что в итоге даже делал какие-то простенькие игрушки на нём. Может несколько месяцев. После я сразу перешел на Ассемблер, на котором постоянно писал больше 7 лет (дальше - не регулярно). После Бэйсика. И перед Си. Сначала под зилоговские процессоры, а после под мотороловские 680x0. Не было никаких проблем понять регистры, прерывания, сдвиги и всё остальное. Забавно, но документации тогда почти никакой не было. Про интернет тогда никто и не слыхал (даже простых модемов ни у кого не было)(речь о простых смертных), поэтому рассчитывать можно было только на книги/журналы. Приходилось учиться по книжке с описанием процессора, ковыряя и изучая чужие программы. Уже несколько позже я познакомился с такими же маньяками как я, стал демосценером - тогда стало гораздо проще и с информацией, и с литературой, и с программами. Следующим моим языком был Си. Вследствие того, что Си является всего лишь транслятором команд в машинный код, учить его было довольно просто. После - конечно же, C++. Его я изучал, работая в гос конторе и разрабатывая систему управления предприятием. Дальше мне приходилось писать на различных языках, включая некоторые экзотические: E, Rexx, Perl, D, PureBasic, Паскаль, JavaScript, PHP, Python, Java и множество других. Я как-то подсчитывал для интереса, вспомнил около 20 штук. Какие-то захватывал поверхностно - только для решения необходимых задач, а в какие-то приходилось погружаться. В последнее время пишу на GML, C# и Lua (преимущественно по работе - я занимаюсь разработкой игр). Собственно, к чему я это пишу: никогда у меня не возникало проблем с пониманием нового языка. Была небольшая заминка, когда начал изучать C++ (литературы не было, не сразу понял идею ООП, однако более опытные коллеги помогли разобраться). Не было проблем с восприятием новых языков. Смена парадигмы - думаю, она может на какое-то время ввести в ступор (например, при переходе ООП->ФП), но тут уж ничего не поделать - разбираться и пробовать. Естественно, что за эти годы немало людей обращались ко мне за помощью и я видел немало людей, которые стали программистами. И анализируя этот опыт, утверждаю - с Си начинать не нужно. Я рекомендую C# или Python. Естественно, параллельно изучать различные алгоритмы, логику построения программ и т.п. А дальше уже - к чему душа ляжет. Веб, системное программирование, геймдев и т.д. - в зависимости от предпочтений, выбирать технологии в нише и изучать. Тут уже может быть и Си, и C++, и PHP (кстати, из всех языков, с которыми мне приходилось работать, как раз он был самым мозговыносящим) и Ruby и функциональные языки и всё, что угодно. Считаю ли я, что нужно изучать Ассемблер сейчас? Нет, не считаю. Ассемблер нужен в весьма специфических случаях. За последние лет пять мне на нём пришлось что-то делать только один раз (и то, для знакомого, который обратился за помощью). Нужно ли понимать структуру процессора? Да. Не обязательно даже подробно углубляться в это. Но это знание помогает довольно часто (опять же, это с высоты своего опыта - вряд ли это понадобится человеку, который всю жизнь будет на PHP сайты писать). Нужно ли учить С и С++? Желательно. Как правильно было указано в том посте, большинство кода написано на си и с++ и быть способным понимать его - весьма большой плюс. Однако при этом, если нравится какой-то более-менее известный (и при этом, актуальный) стек/технологии (или кому-то просто не даётся, например, c++), всегда можно попробовать обосноваться в них, не переключаясь на то, чем заниматься не хочется. Например, если глянуть списки популярных вакансий, можно легко найти работу с хорошей з/п, занимаясь разработкой исключительно на шарпе. Найти работу разработчика ruby несколько сложнее, но и это возможно. Delphi (к вопросу о целесообразности его изучения) - почти невозможно (хотя иногда встречаются и по нему вакансии). Python, Java, PHP - без проблем. Устраиваемся работать и совершенствуемся. Параллельно можно как хобби изучать что-нибудь ещё.Добавлено (22.08.2013, 00:28) ---------------------------------------------
Цитата (NancyWithoutSid) А не заставит ли это GC совершать целую кучу минорных сборок, тормозя ваше приложение? Нет, там всё контролировалось. Специально проверял нагрузками - создавал тысячи спрайтов и удалял их в разных вариантах (пачками, по одному, с разными промежутками времени и т.п), с производительностью проблем никаких не было.
Цитата (NancyWithoutSid) #define или #ifdef, я что-то делаю не так возможно, что я просто так привык писать на си-подобных языках. и, скорее всего, у нас разные задачи.
Цитата (NancyWithoutSid) 2)Опять же дает стрелять в ногу, и загораживает "понимание процесса" В ногу даёт выстрелить, например, прямое управление памятью в плюсах. А Ассемблер - вообще катастрофа Я даже занимался прямым программированием дискового контроллера - представляете, какие возможности "выстрелить"? Зачастую, чем больше абстракций, тем больше защиты от дурака.
Цитата (NancyWithoutSid) А что им нужно? Калькулятор/видео плеер, и ms office. The end? Сейчас все переезжает в веб и на мобилки, и этот процесс необратим. Корпоративный софт тоже на вебе. Наверное и так очевидно почему. спорно, весьма спорно. всё не переедет в любом случае, и на это есть множество причин. начиная от некачественного интернета и кончая самими ограничениями данного подхода. впрочем, откажусь от спора - моё время весьма ограниченно.
Цитата (NancyWithoutSid) ветки else в байт коде не будет. Принципиальной разницы не вижу. Разве что #ifdef более ванилен и сишен. Я видел этот код. Но его очевидность, на мой взгляд, весьма низка. Он не выглядит как управляющая конструкция, он выглядит именно как код - с такой записью работать тяжелее. При записи же #define всё сразу хорошо видно.
|
|
| |
Dmi7ry | Дата: Среда, 21 Августа 2013, 22:12 | Сообщение # 32 | Тема: Какой выбрать? |
почетный гость
Сейчас нет на сайте
| Цитата (Vinchensoo) И что? В чем принципиальное отличие, кроме сахара? Передавайте интерфейс как параметр, если нужно что-то передать и вызывайте его внутри. Это чистой воды синтаксический сахар, причем не особо нужный. Во-первых, сахар уменьшает количество кода, который нужно писать. Во-вторых, улучшает читаемость кода за счёт уменьшения объёма. В-третьих, если есть желание разобраться, просто погуглите, как используются делегаты в Шарпе.
Цитата (Vinchensoo) Начинающий программер будет писать что-то серьезное для десктопа?) сначала что-то простое и со временем у него, при необходимости, будет возможность, не меня среду, использовать все доступные возможности.
Цитата (Vinchensoo) Я вам привел один пример, чем он "не нормален"? Сборщик мусора просто не затирает скриншоты, которые делает программа до тех пор, пока память не забьется хотя бы на 70%. И потом резко вытирает 500-600 метров и оставляет 15. Это нормально?) Если бы там был включен второй уровень сборки, то скриншоты затирались бы сразу же. У меня в движке игры при удалении спрайтов и других изображений память освобождается почти моментально.Добавлено (21.08.2013, 22:12) ---------------------------------------------
Цитата (NancyWithoutSid) #ifdef #define нужны в кроссплатформеном языке? Конечно. Естественно, что при использовании систем сборок они возьмут на себя бОльшую часть работы, но используются они далеко не всегда. Иногда гораздо проще воткнуть #define.
Цитата (NancyWithoutSid) Ну самим не смешно? 10 строчек что на Java что на C#. Это в стиле "скрытых" геттеров и сеттеров, которые безусловно дают очень большое приемущество. 10 тут, 10 там, 10 ещё где-то. А в сумме всё равно время экономится и усилия. Многие вещи в эволюции программирования - это что-то, что позволяет делать то же самое, что уже было, только проще.
Цитата (NancyWithoutSid) Кому-то сегодня нужны десктопные приложения? примерно полутора миллиардам владельцам ПК - несомненно.
Цитата (NancyWithoutSid) Ну это разве не костыль? повторюсь: в нормально написанном приложении это и не требуется.
|
|
| |
Dmi7ry | Дата: Среда, 21 Августа 2013, 19:51 | Сообщение # 33 | Тема: Какой выбрать? |
почетный гость
Сейчас нет на сайте
| Izaron, при чём тут вообще Managed DirectX? Он устарел ещё с приходом XNA. Если хочется писать под DirectX, то можно взять SharpDX. Добавлено (21.08.2013, 19:51) ---------------------------------------------
Цитата (Vinchensoo) Код package javaapplication3; ...
сравните это с Код delegate void MyDelegate(); class Program { static void Main(string[] args) { //создание экземпляра делегата с передачей имени метода MyDelegate myDelegate = new MyDelegate(MyMethod); //вызов метода делегата myDelegate(); } static void MyMethod() { Console.WriteLine("Делегированный метод выполняется"); Console.ReadKey(); } } //вызов метода делегата из main-класса string result = myDelegate(5);
Цитата (Vinchensoo) ТС-то мб и не исключение, но для кого он пишет? Когда сравнивают java и c#, речь идет о серверах онли, потому что писать GUI или, о боги, игры на java не совсем разумно(исключение ведроид). А вот на серверах, по-прежнему, рулит и педалит линукс. Начинающий программер будет сразу писать что-то для серверов? Сомнительно. Весьма сомнительно.
Цитата (Vinchensoo) Это костыль и не рекомендовано. Не рекомендовано, однако нормально написанному приложению это и не потребуется.
|
|
| |
Dmi7ry | Дата: Среда, 21 Августа 2013, 16:20 | Сообщение # 34 | Тема: Какой выбрать? |
почетный гость
Сейчас нет на сайте
| Цитата (Vinchensoo) Вместо делегатов есть интерфейсы, которые с точки зрения ООП, имхо, намного разумнее использовать. Совсем другая опера.
Цитата (Vinchensoo) Замыкания есть через анонимные классы Они реализуют замыкания только частично.
Цитата (Vinchensoo) условная компиляция тоже есть Поподробнее - каким образом? Через костыли?
Цитата (Vinchensoo) Асинхронная и динамическая компиляция давно реализована в java машине или я не понял, о чем вы? Нет, я про очень удобный async, введённый в пятой версии.
Цитата (Vinchensoo) Плюс надо не забывать, что дотнет- это винда, причем с покупкой кучи лицензий и т.д. Да, есть МОНО, некоторые даже используют его для серьезных проектов, но знакомые по опыту все равно плюются и говорят, что оно отличается мелочами, да и бесит. Также не нужно забывать, что винда (по информации от Net Applications, на июль 2013 года) - это 91,5% всех компьютеров. И я думаю, что ТС - не исключение.
Цитата (Vinchensoo) Мне очень понравилась невозможность ограничения размера памяти, выделенной приложению. Жрет, пока умная машина сама не решит подчистить мусор. Ограничить можно, например, через SetProcessWorkingSetSize. И подчищать мусор можно в разных режимах - можно и почаще, можно и пореже. А можно и чуть ли не ручками. Хотя мне, за более, чем 18 лет программирования, насколько помню, ни разу не требовалось искусственно ограничивать количество выделяемой приложению памяти (однако я не утверждаю, что это никому не нужно - просто мне не требовалось никогда).Добавлено (21.08.2013, 16:20) --------------------------------------------- Deswing, вы не учли - как первый язык программирования PHP категорично противопоказан. Если цель - создать быдлокодера, то самое оно, а если хорошего программиста, то нужно что-нибудь другого уровня.
|
|
| |
Dmi7ry | Дата: Среда, 21 Августа 2013, 15:01 | Сообщение # 35 | Тема: Что лучше для 2D игр на .NET ? |
почетный гость
Сейчас нет на сайте
| Цитата (DragYourAssets) Но моногейм мне не кажется хорошим вариантом из-за того, что в нем много костылей. Костылей к чему и на что? Список платформ, которые поддерживает MonoGame: Цитата iOS (including Retina displays) Android Windows (OpenGL, a DirectX 11 version is currently in development) Mac OS X Linux Windows Store Apps (for Windows 8 and Windows RT) Windows Phone 8 PlayStation Mobile (currently 2D only) OUYA на мой взгляд, вполне неплохо. Мне самому вполне нравится XNA и MonoGame и я не сталкивался ни с какими проблемами в процессе разработки.
Цитата Плюс, они давно уже не могут зарелизить контент-пайплайн. Да, совершенно не проблема. Или через XNA прогнать, или через командную строку, благо есть утилиты для этого, и после подключить к проекту.
|
|
| |
Dmi7ry | Дата: Среда, 21 Августа 2013, 14:39 | Сообщение # 36 | Тема: Вопрос - Ответ (Game Maker) |
почетный гость
Сейчас нет на сайте
| Цитата (CreatingOver) Не так выразился. Не стоит его использовать, он дико нагружает FPS. Вы ошибаетесь. Это довольно "дешевая" операция.
|
|
| |
Dmi7ry | Дата: Среда, 21 Августа 2013, 12:19 | Сообщение # 37 | Тема: Java или С# |
почетный гость
Сейчас нет на сайте
| Цитата (Dmi7ry) +1 за c# и Троелсена. Упс, попутал Троелсена. Рекомендую Шилдта и его "полное руководство".
|
|
| |
Dmi7ry | Дата: Среда, 21 Августа 2013, 11:50 | Сообщение # 38 | Тема: Вопрос - Ответ (Game Maker) |
почетный гость
Сейчас нет на сайте
| Цитата (CreatingOver) не, на distance_to_object полагаться не стоит С чего это вдруг?
|
|
| |
Dmi7ry | Дата: Среда, 21 Августа 2013, 11:49 | Сообщение # 39 | Тема: Что лучше для 2D игр на .NET ? |
почетный гость
Сейчас нет на сайте
| Цитата (DragYourAssets) И что? Разработка самой XNA прекращена давно, Xbox One ее поддерживать не будет. Нравится использовать устаревшие технологии - пожалуйста. XNA можно использовать далеко не только для разработки под Xbox. XNA также подразумевает MonoGame, который развивается/поддерживается и сейчас.
|
|
| |
Dmi7ry | Дата: Среда, 21 Августа 2013, 11:31 | Сообщение # 40 | Тема: Какой выбрать? |
почетный гость
Сейчас нет на сайте
| Цитата (Vinchensoo) Это особенности языков в прямым управлением памятью, а не плюсов >< Речь шла именно о плюсах, поэтому было сказано в контексте "без указателей в плюсах - никак".
Цитата (Vinchensoo) Нет никаких преимуществ у шарпа. Думаю, преимущества всё же есть. Более удобные конструкции языка, нормальный UI, LINQ, делегаты, лямбды, замыкания, dynamic, async, условная компиляция, более интенсивное развитие языка и др (хотя, например, лямбды и замыкания появятся в 8 версии, которая запланирована на март следующего года). Не знаю, как для других, но мне также кажется преимуществом хорошая структурированность .Net платформы - никаких коллизий имён и т.п.
Цитата Это 2 технологии, которые давно уже спокойно соседствуют у любого нормального разработчика. То, что они соседствуют - противоположное и не утверждалось. Средства выбираются исходя из задач. Мне приходилось и на бейсике писать...
|
|
| |
|