Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Xors3D

Xors3D Графический движок с поддержкой DirectX9

Ответ
 
Опции темы
Старый 23.08.2011, 11:33   #421
Townboy
AnyKey`щик
 
Регистрация: 11.12.2007
Сообщений: 18
Написано одно полезное сообщение
(для 0 участников)
Смущение Ответ: Xors3D

Привет! подскажите что не так ?

вот код на B3d
Global cub
Global camera
Global point
Global state$

Const 
STANDING=0
Const MOVING=1

Const moveSpeed#=.6
Const turnSpeed#=.1

Graphics3D 640,480,0,2

camera
=CreateCamera()
PositionEntity camera,0,150,0
RotateEntity camera
,90,0,0

plane
=CreateCube()
ScaleEntity plane,1000,.1,1000
EntityPickMode plane
,2
EntityColor plane
,160,150,150
EntityAlpha plane
,0.5 

point
=CreateCube()
EntityColor point,255,0,0

cub
=CreateCube()
ScaleEntity cub,5,5,5

state
$=STANDING

While Not KeyDown)
UpdateMovement()

PointEntity camera,cub
UpdateWorld
()
RenderWorld()

Text 0,40,"PickedX: "+PickedX#()
Text 0,60,"PickedY: "+PickedY#()
Text 0,80,"PickedZ: "+PickedZ#()

Flip
Wend

End

Function UpdateMovement()
    If 
MouseHit(1)
        If 
state$=STANDING 
            state
$=MOVING
        
EndIf 
        
CameraPick(camera,MouseX(),MouseY())
        
PositionEntity point,PickedX(),0,PickedZ()+3
    
    
EndIf
    If 
state$=MOVING            

             xt
#=PickedX#()
             
zt#=PickedZ#()
            
xl#=EntityX#(cub)
            
zl#=EntityZ#(cub)
             
cx#=xt-xl 
             
cz#=zt-zl 
             
cn#=Sqr(cx*cx+cz*cz) 
             
cx=cx/cn    
             cz
=cz/cn
            
            AlignToVector cub
,cx,0,cz,0,turnSpeed#
            
MoveEntity cub,0,0,moveSpeed#

            
If Distance2D(EntityX(cub),EntityZ(cub),PickedX(),PickedZ())<10
                state
$=STANDING
            
EndIf
    EndIf
End Function        

Function 
Distance2D#(x1#,y1#,x2#,y2#)
Local nx#=x1-x2
Local ny#=y1-y2 
Return Sqr((nx*nx)+(ny*ny))
End Function 
вот на Xors3D
Include "Xors3d.bb"

Global cub
Global camera
Global point
Global state$

Const 
STANDING=0
Const MOVING=1

Const moveSpeed#=.6
Const turnSpeed#=.1

xGraphics3D 640,480,0,0,1

camera
=xCreateCamera()
xPositionEntity camera,0,150,0
xRotateEntity camera
,90,0,0

plane
=xCreateCube()
xScaleEntity plane,1000,.1,1000
xEntityPickMode plane
,2
xEntityColor plane
,160,150,150
xEntityAlpha plane
,0.5 

point
=xCreateCube()
xEntityColor point,255,0,0

cub
=xCreateCube()
xScaleEntity cub,5,5,5

state
$=STANDING

While Not xKeyDown)
UpdateMovement()

xPointEntity camera,cub
xUpdateWorld
()
xRenderWorld()

xText 0,40,"PickedX: "+xPickedX#()
xText 0,60,"PickedY: "+xPickedY#()
xText 0,80,"PickedZ: "+xPickedZ#()

xFlip
Wend

End

Function UpdateMovement()
    If 
xMouseHit(1)
        If 
state$=STANDING 
            state
$=MOVING
        
EndIf 
        
xCameraPick(camera,xMouseX(),xMouseY())
        
xPositionEntity point,xPickedX(),0,xPickedZ()+3
    
    
EndIf
    If 
state$=MOVING            

             xt
#=xPickedX#()
             
zt#=xPickedZ#()
            
xl#=xEntityX#(cub)
            
zl#=xEntityZ#(cub)
             
cx#=xt-xl 
             
cz#=zt-zl 
             
cn#=Sqr(cx*cx+cz*cz) 
             
cx=cx/cn    
             cz
=cz/cn
            
            xAlignToVector cub
,cx,0,cz,0,turnSpeed#
            
xMoveEntity cub,0,0,moveSpeed#

            
If Distance2D(xEntityX(cub),xEntityZ(cub),xPickedX(),xPickedZ())<10
                state
$=STANDING
            
EndIf
    EndIf
End Function        

Function 
Distance2D#(x1#,y1#,x2#,y2#)
Local nx#=x1-x2
Local ny#=y1-y2 
Return Sqr((nx*nx)+(ny*ny))
End Function 
в каждом cub передвигается по разному
в чем может быть проблема?
(Offline)
 
Ответить с цитированием
Старый 23.08.2011, 15:56   #422
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,642 пользователей)
Ответ: Xors3D

В том, что неправильно используется xAlignToVector (впрочем, в блтицевском варианте AlignToVector тоже неправильно используется). Ось Z - это 3. Ноль вообще не используется. Кстати, для этого в Ксорсе есть константы вроде AXIS_Z.
__________________

(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо .Squid за это полезное сообщение:
Colossus (26.08.2011), Townboy (23.08.2011)
Старый 27.08.2011, 19:32   #423
ANIK123
Знающий
 
Аватар для ANIK123
 
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений
(для 49 пользователей)
Ответ: Xors3D

Привет всем)
Не подскажете как ПРАВИЛЬНО подключить Xors3d к С++ проекту?
Компилятор никак не может найти файл xors3d.h
Использую бланк из семплов ксорса, кстати семплы тоже не работают
зы: С++ начал изучать... вчера)

Последний раз редактировалось ANIK123, 27.08.2011 в 21:35.
(Offline)
 
Ответить с цитированием
Старый 27.08.2011, 20:35   #424
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,642 пользователей)
Ответ: Xors3D

В настройках ИДЕ можно указать, где компилятор будет искать хедеры, либы и т.п. Вот там можно указать путь к xors3d.h и потом подключать его
#include <xors3d.h>
или просто указать полный либо относительный путь к хедеру. Например,
#include "../inc/xors3d.h"
__________________

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ANIK123 (27.08.2011)
Старый 27.08.2011, 20:55   #425
ANIK123
Знающий
 
Аватар для ANIK123
 
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений
(для 49 пользователей)
Ответ: Xors3D

.Squid, Спасибо
Немного переделав код проблемы с нахождением файла уже нет но появились другие ошибки

Содержимое main.cpp
// include Xors3d Engine header
#include "inc\xors3d.h"  
#pragma comment (lib,"lib\Xors3d.lib ") 
#include <iostream>
#include <math.h>

// program entry point
int APIENTRY WinMain(HINSTANCE instance, HINSTANCE prevInstance, LPSTR commandLine, int commandShow)
{
	return 0;
}
Ошибки:
Dev C++


Visual Studio

Последний раз редактировалось ANIK123, 27.08.2011 в 23:32.
(Offline)
 
Ответить с цитированием
Старый 28.08.2011, 02:21   #426
ANIK123
Знающий
 
Аватар для ANIK123
 
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений
(для 49 пользователей)
Ответ: Xors3D

Уже разобрался!!1)
Я скачал был старую версию ксорса с склада на офф-сайте - админы - обновите там сборку пожалуйста а то цветная вывеска сверху напоминает больше рекламный баннер чем ссылку на скачивание)
зы: для таких же как я немножко обманутых пользователей - качать последнюю версию ксорса надо там:

(Offline)
 
Ответить с цитированием
Старый 28.08.2011, 02:28   #427
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,642 пользователей)
Ответ: Xors3D

По идее она должна привлекать внимание. Привлечь внимание и заставить прочитать то, что на ней написано. А написано "Кликни здесь, чтобы скачать". И номер актуальной ревизии и дата выпуска.
__________________

(Offline)
 
Ответить с цитированием
Старый 28.08.2011, 13:50   #428
ANIK123
Знающий
 
Аватар для ANIK123
 
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений
(для 49 пользователей)
Ответ: Xors3D

Ну не знаю - у меня в мозгу блок стоит на всякие разноцветные рекламные прямоугольники)
Уже давно на них внимания не обращаю)))
А ну и ладно - главное что уже все работает - огромное спасибо вам за такую замечательную штуку как Xors3d!)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Colossus (30.08.2011)
Старый 29.08.2011, 23:56   #429
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Xors3D

У меня есть предложение, может быть в двиге уже есть, но я не нашел. Реализовать функцию что то типа xCameraPickById(camera,x,y,id) пикать объеты только если они соответствуют Id , соответственно чтобы можно было задавать этот id объекту. (это надо для удобства отсечения пикания ненужный на конкретный момент объектов) например режим постройки пикать землю id=1, режим удаления растительности пикать растительность чтобы удалить это id=2, и чтобы приэтом железно не пикалась земля
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Mr_F_ (30.08.2011)
Старый 30.08.2011, 00:03   #430
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,642 пользователей)
Ответ: Xors3D

Да, возможно, стоит сделать.
Только лучше это писать на оф.форум. Ибо булку я воспринимаю как развлечение, по большому счету.
__________________

(Offline)
 
Ответить с цитированием
Старый 30.08.2011, 00:03   #431
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Xors3D

Это неоправданно передёргивает баланс в сторону казуальности в отношении "возможности/простота"
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
tormoz (30.08.2011)
Старый 30.08.2011, 11:11   #432
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Xors3D

.Squid, окей следующий раз буду писать на оф форум, а так это полезная фича, используется во всех современных двигах, и к томуже это работы на 5 минут

Кстати как насчет xLoadMesh и xLoadAnimMesh http://forum.boolean.name/showthread.php?t=15377
(Offline)
 
Ответить с цитированием
Старый 31.08.2011, 20:43   #433
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Xors3D

xEof при любых раскладах выдает 0. Другие функции работают, прошу проверить. Билд ксорса последний
(Offline)
 
Ответить с цитированием
Старый 31.08.2011, 21:47   #434
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,642 пользователей)
Ответ: Xors3D

this->patience--;
xeof.zip
__________________

(Offline)
 
Ответить с цитированием
Старый 31.08.2011, 22:36   #435
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Xors3D

короче я там сам протупил флаги оказывается есть LS_CR
PS. c++ позволяет использовать enum, может возможно его както сгенерить в хедер?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Xors3d wants YOU! .Squid Xors3D 33 13.01.2013 23:34
Xors3D для D johnk Проекты C++ 8 09.08.2009 14:18
Xors3D for .NET? johnk C++ 7 06.08.2009 09:34
Xors3D ЛысыЙ_Чук-Иванчук Модули для BlitzMax 145 18.06.2009 21:17
xors3d NitE 3D-программирование 9 02.04.2009 22:21


Часовой пояс GMT +4, время: 01:08.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com