Вопросы от stasen'а
|
|
stasen | Дата: Пятница, 26.02.2010, 17:15 | Сообщение # 1 |
Группа: Проверенные
Сообщений: 28
Репутация: 0
Статус: Offline
| народ у меня такой вопрос: можно ли поставить переменной значение разрешения экрана ? ну тоесть чтоб я мог менять разрешение экрана прямо в игре
| |
|
|
bober | Дата: Суббота, 27.02.2010, 10:45 | Сообщение # 2 |
Группа: Модераторы
Сообщений: 131
Репутация: 10
Статус: Offline
| Cейчас не помню как, но точно скажу, что можно. в TehnoDemo это частично реализовано в скрипте Ultimate3DOptions
Лето в школе 4.0
| |
|
|
stasen | Дата: Суббота, 27.02.2010, 12:06 | Сообщение # 3 |
Группа: Проверенные
Сообщений: 28
Репутация: 0
Статус: Offline
| а ты не можешь вспомнить код пожалуйста
| |
|
|
bober | Дата: Суббота, 27.02.2010, 12:34 | Сообщение # 4 |
Группа: Модераторы
Сообщений: 131
Репутация: 10
Статус: Offline
| Вспомнить не могу, только к понедельнику могу дать. Хотя бывает, что игра не разворачивается на весь экран по-тому, что в настройках вида комнаты стоит 640 на 489.
Лето в школе 4.0
| |
|
|
stasen | Дата: Суббота, 27.02.2010, 13:20 | Сообщение # 5 |
Группа: Проверенные
Сообщений: 28
Репутация: 0
Статус: Offline
| о к понедельнику тогда скажешь пожалуйста и еще у меня есть один вопрос почему из за пару строк коду фпс падает аш в 10 раз игра тормозит конктрено посомтрите плиз.....код находиться в step в обьекте control (попробуйте его полностью удалить и посомтрите как кладко пойдет)
| |
|
|
bober | Дата: Суббота, 27.02.2010, 14:11 | Сообщение # 6 |
Группа: Модераторы
Сообщений: 131
Репутация: 10
Статус: Offline
| Лучше бы написал эти строки, а то ГМ нету под рукой и соответственно отвечу только в понед Кстати смена разрешения экрана реализована в примере Abduction на офф сайте ultimate3d
Лето в школе 4.0
| |
|
|
stasen | Дата: Суббота, 27.02.2010, 14:22 | Сообщение # 7 |
Группа: Проверенные
Сообщений: 28
Репутация: 0
Статус: Offline
| Code if(camera.r=0&&window_mouse_get_x()>=350&&window_mouse_get_y()>=350&&window_mouse_get_x()<=350+razx&&window_mouse_get_y()<=350+razy&&MouseCheckButton(mb_left)){ temp=1;//если условие верно то возвращаем 1 }else{ temp=0; }; sleep(100); if (temp=1) {k+=1}; if(camera.r=0&&window_mouse_get_x()>=350&&window_mouse_get_y()>=380&&window_mouse_get_x()<=350+razx&&window_mouse_get_y()<=390+razy&&MouseCheckButton(mb_left)){ tem=1;//если условие верно то возвращаем 1 }else{ tem=0; }; sleep(100); if (tem=1) {k-=1}; вот код
| |
|
|
bober | Дата: Суббота, 27.02.2010, 14:35 | Сообщение # 8 |
Группа: Модераторы
Сообщений: 131
Репутация: 10
Статус: Offline
| Точно сказать не могу, но зачем ты берешь sleep(100)//заморозка игры Советую убрать.Добавлено (27.02.2010, 14:33) --------------------------------------------- Так же в начале кода идет temp, а в конце tem так и задумано? Скорее всего из-за sleep Добавлено (27.02.2010, 14:35) --------------------------------------------- Однозначно из-за sleep(100) - 0,1 сек каждый шаг, вот и получается, что ФПС технически не может быть выше 10, а т.к. 2 раза, то не выше 5.
Лето в школе 4.0
| |
|
|
stasen | Дата: Суббота, 27.02.2010, 14:44 | Сообщение # 9 |
Группа: Проверенные
Сообщений: 28
Репутация: 0
Статус: Offline
| я когда нажимаю левой клавишей он говорит что я много раз нажал ну тоесть не 1 а пять прибавляет вот затем и слипп чтоб тока по одному прибавляло Добавлено (27.02.2010, 14:38) --------------------------------------------- а как мне заменить слип Добавлено (27.02.2010, 14:44) --------------------------------------------- слушай дейчствительно из за слип тока вопрос как тогда быть
| |
|
|
bober | Дата: Суббота, 27.02.2010, 14:47 | Сообщение # 10 |
Группа: Модераторы
Сообщений: 131
Репутация: 10
Статус: Offline
| Тогда помести sleep внутрь первых фигурных скобок if(camera.r=0&&window_mouse_get_x()>=350&&window_mouse_get_y()>=350&&window_mouse_get_x()<=350+razx&&window_mouse_get_y()<=350+razy&&MouseCheckButton(mb_left)) { temp=1;//если условие верно то возвращаем 1 sleep(100) }else { temp=0; }; if (temp=1) {k+=1}; if(camera.r=0&&window_mouse_get_x()>=350&&window_mouse_get_y()>=380&&window_mouse_get_x()<=350+razx&&window_mouse_get_y()<=390+razy&&MouseCheckButton(mb_left)){ tem=1;//если условие верно то возвращаем 1 sleep(100); } else { tem=0; }; sleep(100); if (tem=1) {k-=1}; А лучше введи еще одну переменную которая и будет работать вместо sleep Вообщем ПРИМЕРНО ТАК If MouseCheckButton(mb_left)=1 && (прочие условия) && k=0 {выполняется 1 раз; k=1} If MouseCheckButton(mb_left)=0 {k=0}// Разблокировать
Лето в школе 4.0
| |
|
|
stasen | Дата: Суббота, 27.02.2010, 14:57 | Сообщение # 11 |
Группа: Проверенные
Сообщений: 28
Репутация: 0
Статус: Offline
| вот с фторым вариантом я конечно не сильно понял ну мне первый понравился больше он и понятнее и легче....вообщем спасибо Добавлено (27.02.2010, 14:57) --------------------------------------------- слушай а есть команда чтоб текстуру поменять?ну вот например я нарисовал прямоугольник на экране и хочу поменять к ниму тескуру можно?
| |
|
|
bober | Дата: Суббота, 27.02.2010, 15:05 | Сообщение # 12 |
Группа: Модераторы
Сообщений: 131
Репутация: 10
Статус: Offline
| Вот второй вариант как раз правильнее, я просто не знаю какая переменная за что овечает, может вместо k поставь другую. Смысл в том, что при нажатии ей присваивается значение 1 и оно не дает выполниться коду пока юзер не отпустит кнопку, при отпускании к=0 и снова готово при нажатии обработать событие.Добавлено (27.02.2010, 15:05) --------------------------------------------- можно. Во-первых ты рисуешь его DrawTex? ReleaseTexture(свой индекс) LoadTexture(новая текстура, индекс тот же)
Лето в школе 4.0
| |
|
|
stasen | Дата: Суббота, 27.02.2010, 15:14 | Сообщение # 13 |
Группа: Проверенные
Сообщений: 28
Репутация: 0
Статус: Offline
| а я кажись понял что ты хочешь сказать про замену команды слип да я рисую DrawTex но насчет как замнить не понял вот допустим у меня уже загружены две тукстуры у первой индекс один у второй 2 как мне заменить перву текструру второй Code DrawTex(1,350,390,1,0,255);
| |
|
|
bober | Дата: Суббота, 27.02.2010, 15:16 | Сообщение # 14 |
Группа: Модераторы
Сообщений: 131
Репутация: 10
Статус: Offline
| Ну тогда DrawTex(2,350,390,1,0,255);
Лето в школе 4.0
| |
|
|
stasen | Дата: Суббота, 27.02.2010, 15:20 | Сообщение # 15 |
Группа: Проверенные
Сообщений: 28
Репутация: 0
Статус: Offline
| не ты меня не понял мне нужно заменить текстуру прямо во время игры ну тоесть вот например я нажал какую нить клавишу и чтоб тескура поменялась вот так можно?
| |
|
|
bober | Дата: Суббота, 27.02.2010, 15:23 | Сообщение # 16 |
Группа: Модераторы
Сообщений: 131
Репутация: 10
Статус: Offline
| ну собственно переменная должна быть то есть Способ 1 if tmp=1 {DrawTex(1,350,390,1,0,255)} if tmp=2 {DrawTex(2,350,390,1,0,255)} И когда ты изменишь переменную пойдет рисоваться вторая текстура. Способ 2 Можешь написать ТАК: DrawTex(tmp,350,390,1,0,255) И изменяя переменную tmp с 1 на 2 поменяешь текстуру. Добавлено (27.02.2010, 15:23) --------------------------------------------- При нажатии клавиши меняешь переменную.
Лето в школе 4.0
Сообщение отредактировал bober - Суббота, 27.02.2010, 15:32 | |
|
|
stasen | Дата: Суббота, 27.02.2010, 15:30 | Сообщение # 17 |
Группа: Проверенные
Сообщений: 28
Репутация: 0
Статус: Offline
| во спс мне кстати тоже потом такая идея с переменной пришла ну после того как я вопрос задал ,.... а вот насчет второго варианта я действительно видать не да понял давай я тебе лучше свой код обьясню я как раз его сократил Code if(camera.r=0&&window_mouse_get_x()>=350&&window_mouse_get_y()>=350&&window_mouse_get_x()<=350+razx&&window_mouse_get_y()<=350+razy&&MouseCheckButton(mb_left)){ k+=1}; if(camera.r=0&&window_mouse_get_x()>=350&&window_mouse_get_y()>=380&&window_mouse_get_x()<=350+razx&&window_mouse_get_y()<=390+razy&&MouseCheckButton(mb_left)){ k-=1}; на экране у меня есть две кнопки(нарисованных прямоугольника) и также рисуется переменная k так вот суть кода когда я нажимаю по первой кнопке то переменная к прибавляется на единицу когда щелкаю по второй кнопке то отбавляется на единицу а оно вместо этого прибавляет и отнимает по 5 или 6 единиц вот я и хотел ето исправить командой слип
| |
|
|
bober | Дата: Суббота, 27.02.2010, 15:37 | Сообщение # 18 |
Группа: Модераторы
Сообщений: 131
Репутация: 10
Статус: Offline
| if(camera.r=0&&window_mouse_get_x()>=350&&window_mouse_get_y()>=350&&window_mouse_get_x()<=350+razx&&window_mouse_get_y()<=350+razy&&MouseCheckButton(mb_left)) && nagal=0{ k+=1; nagal=1}; if(camera.r=0&&window_mouse_get_x()>=350&&window_mouse_get_y()>=380&&window_mouse_get_x()<=350+razx&&window_mouse_get_y()<=390+razy&&MouseCheckButton(mb_left)) && nagal=0{ k-=1; nagal=1}; If MouseCheckButton(mb_left)=0 { nagal=0} Пробуй.
Лето в школе 4.0
| |
|
|
stasen | Дата: Понедельник, 01.03.2010, 12:43 | Сообщение # 19 |
Группа: Проверенные
Сообщений: 28
Репутация: 0
Статус: Offline
| че то ему не рваится в переменной nagal вот ошибка Code ERROR in action number 1 of Step Event for object menu:
Error in code at line 1: if(camera.r=0&&window_mouse_get_x()>=350&&window_mouse_get_y()>=350&&window_mouse_get_x()<=350+razx&&window_mouse_get_y()<=350+razy&&MouseCheckButton(mb_left)&&nagal=0)
at position 161: Unknown variable nagal Добавлено (27.02.2010, 15:56) --------------------------------------------- а в создании то надо указать что переменная нулю равна вот что то я седня турлю......исправил теперь ошибки не возникает но и не щелкает на кнопку Добавлено (01.03.2010, 12:43) --------------------------------------------- народ и еще вопрос почему пиксели в гм больше чем пиксели на моем компе(понимаю звучит глупо ну все же вот такая проблема) я сделал чтоб на компе рисовались 2 кнопки одной на них наложил одну и тужу текстуру(150 на 50 размером) тока второй кнопке я указал размеры и сделал их такими же(тоесть 150 на 50) дальше сделал чтоб присходило какое нить действие когда жмешь на эти кнопки и в результате ето работало тока на первых половинах кнопки(тоесть правая и нижняя часть кнопки не работали) и я решил чтоб у меня на экране отображались кординаты курсора и получилось что если у меня текстура начинала рисоваться в 350 по "х" следовательно она должна была закончить ресоваться в 500(до 500 по "x" у меня и работала кнопка) а она длилась аш до 600 тоже самое и по "y" народ что ето такое?у одного меня так?и самое главное как ето исправить????
| |
|
|
bober | Дата: Понедельник, 01.03.2010, 14:55 | Сообщение # 20 |
Группа: Модераторы
Сообщений: 131
Репутация: 10
Статус: Offline
| Челчок должен работать. С текстурой. Просто u3d растягивает её до размера 256 на 64. Бери текстуры со сторонами равными 32, 64, 128, 256 и т.п. и используй масштабирование.
Лето в школе 4.0
| |
|
|
stasen | Дата: Понедельник, 01.03.2010, 19:46 | Сообщение # 21 |
Группа: Проверенные
Сообщений: 28
Репутация: 0
Статус: Offline
| слушай а ты бы не смог плиз посмтореть то что я намудил и исправить а то там много всяких вопросв??
| |
|
|
bober | Дата: Вторник, 02.03.2010, 10:09 | Сообщение # 22 |
Группа: Модераторы
Сообщений: 131
Репутация: 10
Статус: Offline
| Пробовал такой код - всё работает! if(camera.r=0 && window_mouse_get_x()>=350 && window_mouse_get_y()>=350 && window_mouse_get_x()<=350+razx&&window_mouse_get_y()<=350+razy&&MouseCheckButton(mb_left))&& nagal=0 {nagal=1 k+=1 } if(camera.r=0 && window_mouse_get_x()>=350 && window_mouse_get_y()>=380 && window_mouse_get_x()<=350+razx&&window_mouse_get_y()<=390+razy&&MouseCheckButton(mb_left))&& nagal=0 { nagal=1 k-=1 } if MouseCheckButton(mb_left)=0 {nagal=0}
Лето в школе 4.0
| |
|
|
stasen | Дата: Вторник, 02.03.2010, 13:12 | Сообщение # 23 |
Группа: Проверенные
Сообщений: 28
Репутация: 0
Статус: Offline
| о теперь тоже все работает спасибо тока у меня еще один вопрос аналогичный сделал событие(клавиаттура "i") и сделал такой код Code if (r=0) then {r+=1} else {r-=1}; и он тоже от одного нажатия повторяестя много раз скажи плиз как ето исправить
| |
|
|
bober | Дата: Вторник, 02.03.2010, 13:16 | Сообщение # 24 |
Группа: Модераторы
Сообщений: 131
Репутация: 10
Статус: Offline
| Бери событие KeyPress
Лето в школе 4.0
| |
|
|
stasen | Дата: Вторник, 02.03.2010, 19:31 | Сообщение # 25 |
Группа: Проверенные
Сообщений: 28
Репутация: 0
Статус: Offline
| да получилось спасибо!а можно ето сделать в событии "клавиатура" но тока изменив код??или в событии степ???
| |
|
|