Пятница, 12 Августа 2022, 14:26

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Форум игроделов » Записи участника » ad141 [77]
Результаты поиска
ad141Дата: Суббота, 25 Августа 2012, 15:52 | Сообщение # 21 | Тема: как сделать?
почетный гость
Сейчас нет на сайте
Аааа, ну тогда понятно... Спасибо...


Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
ad141Дата: Суббота, 25 Августа 2012, 15:31 | Сообщение # 22 | Тема: как сделать?
почетный гость
Сейчас нет на сайте
Я видел, но подумал что без лучей легче будет happy


Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
ad141Дата: Суббота, 25 Августа 2012, 15:24 | Сообщение # 23 | Тема: как сделать?
почетный гость
Сейчас нет на сайте
А всё не надо... Я нашёл функцию, которая выдаёт точку пересечения мыши с указыным 3D объектом...

Добавлено (25.08.2012, 15:22)
---------------------------------------------

Code
D3DXVECTOR3 Mouse3DPos;
if(iMeshPicked (Camera, MeshPlaneY))
{
      iPickPoint (&Mouse3DPos);
}

Добавлено (25.08.2012, 15:24)
---------------------------------------------
Только функция почемуто позицию по высоте выдаёт одну и туже 1.0...
Хотя MeshPlaneY я двигаю ниже...
Придётся брать вместо позиции по Y мыши в 3D пространстве, брать позицию MeshPlaneY по Y, так как она вся ровно плоская...



Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
ad141Дата: Суббота, 25 Августа 2012, 14:56 | Сообщение # 24 | Тема: как сделать?
почетный гость
Сейчас нет на сайте
Теперь как найти точку пересечения, этого луча с плоскостью на y=-100 ???
Получившейся пример...
Мышь, стрелки...



Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...


Сообщение отредактировал ad141 - Суббота, 25 Августа 2012, 15:00
ad141Дата: Четверг, 23 Августа 2012, 19:10 | Сообщение # 25 | Тема: как сделать?
почетный гость
Сейчас нет на сайте
Движёк 3impact...
Вот функции движка: http://www.3impact.com/3Impact_Engine/hulk7123/reference.htm



Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
ad141Дата: Четверг, 23 Августа 2012, 15:50 | Сообщение # 26 | Тема: как сделать?
почетный гость
Сейчас нет на сайте
Такой вопрос, по какой формуле можно высчитать позицию мыши в трёхмерном пространстве?

Дано:
float Fov - Угол обхоракамеры
float MouseX, MouseY - Позиция мыши на экране от 0.0 до 1.0f
Vector3 CamP - Позиция камеры .x, .y, .z
Quanternion CamR - Направление камеры .x, .y, .z, .w
int Level - Уровень (позиция по Y) для расчёта положения мыши...



Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
ad141Дата: Среда, 22 Августа 2012, 08:22 | Сообщение # 27 | Тема: вопросы по разным алгоритмам
почетный гость
Сейчас нет на сайте
Archido, круто... А я на самом деле незнал... Подобирал формулу и тут бац, с плавным затуханием...

Добавлено (22.08.2012, 08:22)
---------------------------------------------
А какие есть ещё интерполяции?
Есть с плавным наростом скорости?



Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
ad141Дата: Вторник, 21 Августа 2012, 23:40 | Сообщение # 28 | Тема: вопросы по разным алгоритмам
почетный гость
Сейчас нет на сайте
с плавным затуханием скорости

Code
CurrentAngle += (TargetAngle - CurrentAngle) * 0.01f; // Последнее число - скорость (1.0) - мгновенно, 0.000001 - очень плавно...
FunctionRotate(sprite, CurrentAngle);



Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
ad141Дата: Вторник, 21 Августа 2012, 19:38 | Сообщение # 29 | Тема: Вопрос, запись в файл...
почетный гость
Сейчас нет на сайте
Проблема устранена...
PathNew Должен был иметь размер более 1024 символов... (в документации про это, не чего не написано surprised )

Добавлено (21.08.2012, 19:38)
---------------------------------------------
Всё работает!!! happy Спасибо...



Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
ad141Дата: Вторник, 21 Августа 2012, 18:43 | Сообщение # 30 | Тема: Вопрос, запись в файл...
почетный гость
Сейчас нет на сайте
Флаг поменял, всряровно вылетает...

Строчку
Code
if(iFileOpenDialog("Open file", "DerectX files (*.x)\0*.x\0All files (*.*)\0*.*\0\0", PathNew, false))

Он выпалняет с true... То есть тут ошибки нет, иначе он бы не вылетал а вытаскивал сообщение...
Так как файл не скопирован, значит до строчки
Code
if(CopyFile(PathNew, PathOld2, true))  

Если бы он это выполнил то он бы скопировал файл безпроблем илиже вытащил сообщение

Добавлено (21.08.2012, 18:43)
---------------------------------------------
Вылетает на строчке

Code
if(iFileOpenDialog("Open file", "DerectX files (*.x)\0*.x\0All files (*.*)\0*.*\0\0", PathNew, false))

=(



Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
ad141Дата: Вторник, 21 Августа 2012, 16:52 | Сообщение # 31 | Тема: Вопрос, запись в файл...
почетный гость
Сейчас нет на сайте
Почемуто вылетает!

Code
  iPrintCentered("Please press F1 to add new Model",&D3DXVECTOR2(0.0f,0.0f),&D3DXVECTOR2(1.0f,1.0f),0.1f,FontWhite,0.0f);
    if(iKeyClick(DIK_F1))
    {
           char PathNew[512];  
           char PathOld[512];
           char PathOld2[1024];  
           char TextNew[128];
           iGlobalPathMake(PathNew,"");
           if(iFileOpenDialog("Open file", "DerectX files (*.x)\0*.x\0All files (*.*)\0*.*\0\0", PathNew, false))
           {
               iGlobalPathMake(PathOld,"Data\\Blocks\\");
               iFileNameOnly (TextNew, PathNew);
               sprintf(PathOld2,"%s%s.x",PathOld,TextNew);
               if(CopyFile(PathNew, PathOld2, true))   
               {   
                       if(iFileExists (PathOld))   
                       {   
                    HANDLE hFile;    
                    DWORD dwDone;    
                    char filepath[512];   
                    iGlobalPathMake(filepath,"Data\\Blocks.bin"); // Функция движка 3impact   
                    hFile = CreateFile(filepath,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);   
                    if (hFile != INVALID_HANDLE_VALUE)   
                    {   
                    SetFilePointer(hFile, 0, 0, FILE_END);  
                    WriteFile(hFile,&TextNew,128,&dwDone,NULL);   
                    CloseHandle(hFile);    
                    iMessageBox ("The text added!"); // Функция движка 3impact   
                    }   
                    else
                    {   
                    iMessageBox ("Block index open filed"); // Функция движка 3impact   
                    }   
                    
               
                    
                       }   
                       else
                       {   
                           iMessageBox ("File copy filed");   
                       }   
               }   
               else
               {   
                   iMessageBox ("File name failed");   
               }
           }
           else
           {   
               iMessageBox ("File name failed");   
           }
    }



Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
ad141Дата: Понедельник, 20 Августа 2012, 22:22 | Сообщение # 32 | Тема: Вопрос, запись в файл...
почетный гость
Сейчас нет на сайте
Программа:
Я задаю путь к файлу...
Он его копирует в папку с файлами "3D моделек"...
Открывает файл где записаны какие "3D модельки" уже скопированны...
Дописываю в этот файл название только что добавленной "3D модельки"...

Quote (Нохчи)
С чего ты взял?

так как одна строка занимает 128байт (128 символов)...
А так как файл пустой, то в него должны записатся эти самые 128 символов, то есть 128байт...



Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
ad141Дата: Воскресенье, 19 Августа 2012, 22:18 | Сообщение # 33 | Тема: Вопрос, запись в файл...
почетный гость
Сейчас нет на сайте
Дан путь к файлу... Пример: F:\Copy.x
Мы копируем этот файл в некоторую папку Data\Blocks\
Если копирование прошло успешно, мы открываем файл где написаны какие файлы были скопированы в Data\Blocks\

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

Проблема в том что когда открываеш файл со списком, то там много строк записаных и в самом конце моя записаная строка записанового файла...
Если очистить этот файл и записать заново, то выходит обпять такаяже фигня...
Полученныйфайл весит около 133кБ...
А должен 128байт...

Извините, C++ знаю не очень хорошо =(
Code
#include <windows.h>
#include <stdio.h>
#include <math.h>
#include "..\common\3impactDLL_defs.h"

char TextNew[128];
if(CopyFile("F:\\Copy.x", "C:\\Data\\Blocks\\Copy.x", true))
{
         if(iFileExists ("C:\\Data\\Blocks\\Copy.x"))
         {
                 HANDLE hFile;  
                 DWORD dwDone;  
                 char filepath[256];
                 iGlobalPathMake(filepath,"Data\\Blocks.bin"); // Функция движка 3impact
                 char Text[128][128];
                 int TextN = 0;
                 hFile = CreateFile(filepath,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
                 if (hFile != INVALID_HANDLE_VALUE)
                 {
                    for(int i = 0; i < 128; i++)
                    {
                            if(ReadFile(hFile,&Text[i],128,&dwDone,NULL))
                            {TextN++;} else {i = 255;}
                    }
                    CloseHandle(hFile);  
                 }
                 else
                 {
                     iMessageBox ("Block index open filed"); // Функция движка 3impact
                 }
                 hFile = CreateFile(filepath,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
                 if (hFile != INVALID_HANDLE_VALUE)
                 {
                    for(int i = 0; i <filepathsN; i++)
                    {
                            WriteFile(hFile,&Text[i],128,&dwDone,NULL);
                    }
                    WriteFile(hFile,&TextNew,128,&dwDone,NULL);
                    CloseHandle(hFile);  
                    iMessageBox ("The text added!"); // Функция движка 3impact
                 }
         }
         else
         {
             iMessageBox ("File copy filed");
         }
}
else
{
     iMessageBox ("File name failed");
}



Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
ad141Дата: Понедельник, 16 Апреля 2012, 22:11 | Сообщение # 34 | Тема: Сайт 3drad-alec.ucoz.com
почетный гость
Сейчас нет на сайте
Quote (Kilobyte)
50 мегабайт

XD



Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
ad141Дата: Понедельник, 16 Апреля 2012, 22:10 | Сообщение # 35 | Тема: Преобразование типов чисел в скрипте
почетный гость
Сейчас нет на сайте
int(тут число float...)
float(тут любой чесло)
Vector3(float1, float2, float3)
Quaternion(float1, float2, float3, float4)



Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
ad141Дата: Понедельник, 16 Апреля 2012, 22:08 | Сообщение # 36 | Тема: Значение ориентации
почетный гость
Сейчас нет на сайте
Переменная типа Quaternion содержит 4 значения float... и одним числом его не выведешь!
Для того что бы Quaternion возвращал 1 значение типа float тогда надо к переменной приписывать .x или .y .z .w
пример

Quaternion Orientation;

void Main()
{
OUT_0=Orientation.x;
OUT_22=Orientation.y;
OUT_44=Orientation.z;
OUT_66=Orientation.w;
}

вообще то Quaternion содержит направление объекта не в градусах а в какой то другой херне и если её изменять вручную, тогда объект может изменить размер в ширину или длину или что то в этом роде...



Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
ad141Дата: Среда, 11 Апреля 2012, 17:57 | Сообщение # 37 | Тема: функции iNet
почетный гость
Сейчас нет на сайте
У меня такой вопрос, как сделать чтобы клиент отправлял число(float) серверу?

Сервер отправляет данные (iNetFloatArraySendEx(0,2,0,true)) и клиент их получает... (iNetFloatArrayReceive())
но когда клиент отпровляет данные (iNetFloatArraySendEx(2,2,0,true)) и сервер их как бы получает(iNetFloatArrayReceive()), потому что ему приходит инфа то что приняты данные (iNetFloatArrayReceive()!=0) но почему то он их не обновляет [2] и [3], а делает похожими на [0] и [1] которые отправлял сервер...

Блог

Добавлено (11.04.2012, 17:57)
---------------------------------------------

Code
//OBJ_0 - TextPrint

int xFFFFi=0;
string xFFFFs="";
int xFFFEi=0;
int xFFFDi=0;

void Main()
{
if(KeyClickDown("DIK_F1", 0)&&xFFFFi==0) {if (iNetServerStart("3D Rad Network Game","Server",25857,123456789,100000)){xFFFFi=1;}else{xFFFFi=-1;}}
if(KeyClickDown("DIK_F2", 1)&&xFFFFi==0) {if (iNetClientStart("","Client",123456789,100000,"Connect",-1,0)){xFFFFi=2;}else{xFFFFi=-2;}}
if(KeyClickDown("DIK_F3", 2)&&xFFFFi!=0) {iNetStop();xFFFFi=0;}
if(xFFFFi==-2){xFFFFs="Client can't run";}
if(xFFFFi==-1){xFFFFs="Server can't run";}
if(xFFFFi==0){xFFFFs="iNet off";}
if(xFFFFi==1){xFFFFs="Server run";xFFFFx0();}
if(xFFFFi==2){xFFFFs="Client run";xFFFFx1();}
iPrint("Status: "+xFFFFs, -14,10,OBJ_0);
}

void xFFFFx0()
{
iNetFloatArraySet(0, xFFFEi);
if(iNetFloatArrayReceive()!=0)
{int x0000i=0; for(x0000i;x0000i<2;x0000i++)
{xFFFFs+="\r"+iNetFloatArrayGet(x0000i);xFFFEi++;}}
iNetFloatArraySendEx (0, 1, 0, true);
}

void xFFFFx1()
{
iNetFloatArraySet(1, xFFFEi);
iNetFloatArraySet(2, xFFFDi);
if(iNetFloatArrayReceive()!=0)
{int x0000i=0; for(x0000i;x0000i<1;x0000i++)
{xFFFFs+="\r"+iNetFloatArrayGet(x0000i);xFFFEi+=100;xFFFDi-=111;}}
iNetFloatArraySendEx (1, 2, 0, true);
}

bool[] x0000b(100);int[] x0000i(100);
bool KeyDown(string x0000)
{if (iKeyDown(iKeyCode(x0000))){return(true);}else{return(false);}}
bool KeyClickDown(string x0000, int x0001)
{if (KeyDown(x0000)&&x0000b[x0001]) {x0000b[x0001]=false;return(true);} else if (KeyDown(x0000)&&!x0000b[x0001]) {x0000b[x0001]=false;return(false);} else {x0000b[x0001]=true;return(false);}}
bool KeyClickUp(string x0000, int x0001)
{if (KeyDown(x0000)) {x0000b[x0001]=true;return(false);} else if (!x0000b[x0001]) {x0000b[x0001]=false;return(false);} else {x0000b[x0001]=false;return(true);}}
bool KeySwitch(string x0000, int x0001)
{if (KeyClickDown(x0000, x0001)){x0000i[x0001]++;if(x0000i[x0001]>1||x0000i[x0001]<0){x0000i[x0001]=0;}} if (x0000i[x0001]==0) {return(false);} else {return(true);}}


F1 - включить сервер
F2 - включить клиент
F3 - Отключиться



Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...


Сообщение отредактировал ad141 - Среда, 11 Апреля 2012, 17:55
ad141Дата: Четверг, 29 Марта 2012, 20:41 | Сообщение # 38 | Тема: Рандомное появление объектов.
почетный гость
Сейчас нет на сайте
Quote (Bernie)
Возможно как нибудь сделать так, чтобы на некотором расстоянии от переда машины, начали рандомно появлятся Скин меши? И все это с интервалом во времени.

Да, это надо высчитать направление машини... найти точку перед ним, за счет направления сделать отрезок в 2метра и рандомно на этом отрезке будут появлятся СкинМеши... Теоретическия понимаю как, а практичиски незнаю как расшифровать Quanternion в градусы...



Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
ad141Дата: Четверг, 01 Марта 2012, 19:00 | Сообщение # 39 | Тема: Сайт 3drad-alec.ucoz.com
почетный гость
Сейчас нет на сайте
Все уже заработал... happy


Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
ad141Дата: Четверг, 01 Марта 2012, 18:35 | Сообщение # 40 | Тема: Сайт 3drad-alec.ucoz.com
почетный гость
Сейчас нет на сайте
Снова не доступен sad


Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
Форум игроделов » Записи участника » ad141 [77]
  • Страница 2 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

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