|
Xors3D Графический движок с поддержкой DirectX9 |
23.08.2011, 11:33
|
#421
|
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( 1 ) 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( 1 ) 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
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: Xors3D
В том, что неправильно используется xAlignToVector (впрочем, в блтицевском варианте AlignToVector тоже неправильно используется). Ось Z - это 3. Ноль вообще не используется. Кстати, для этого в Ксорсе есть константы вроде AXIS_Z.
__________________
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо .Squid за это полезное сообщение:
|
|
27.08.2011, 19:32
|
#423
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Ответ: Xors3D
Привет всем)
Не подскажете как ПРАВИЛЬНО подключить Xors3d к С++ проекту?
Компилятор никак не может найти файл xors3d.h
Использую бланк из семплов ксорса, кстати семплы тоже не работают
зы: С++ начал изучать... вчера)
Последний раз редактировалось ANIK123, 27.08.2011 в 21:35.
|
(Offline)
|
|
27.08.2011, 20:35
|
#424
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: Xors3D
В настройках ИДЕ можно указать, где компилятор будет искать хедеры, либы и т.п. Вот там можно указать путь к xors3d.h и потом подключать его
#include <xors3d.h>
или просто указать полный либо относительный путь к хедеру. Например,
#include "../inc/xors3d.h"
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
27.08.2011, 20:55
|
#425
|
Знающий
Регистрация: 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
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Ответ: Xors3D
Уже разобрался!!1)
Я скачал был старую версию ксорса с склада на офф-сайте - админы - обновите там сборку пожалуйста а то цветная вывеска сверху напоминает больше рекламный баннер чем ссылку на скачивание)
зы: для таких же как я немножко обманутых пользователей - качать последнюю версию ксорса надо там:
|
(Offline)
|
|
28.08.2011, 02:28
|
#427
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: Xors3D
По идее она должна привлекать внимание. Привлечь внимание и заставить прочитать то, что на ней написано. А написано "Кликни здесь, чтобы скачать". И номер актуальной ревизии и дата выпуска.
__________________
|
(Offline)
|
|
28.08.2011, 13:50
|
#428
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Ответ: Xors3D
Ну не знаю - у меня в мозгу блок стоит на всякие разноцветные рекламные прямоугольники)
Уже давно на них внимания не обращаю)))
А ну и ладно - главное что уже все работает - огромное спасибо вам за такую замечательную штуку как Xors3d!)
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
29.08.2011, 23:56
|
#429
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: Xors3D
У меня есть предложение, может быть в двиге уже есть, но я не нашел. Реализовать функцию что то типа xCameraPickById(camera,x,y,id) пикать объеты только если они соответствуют Id , соответственно чтобы можно было задавать этот id объекту. (это надо для удобства отсечения пикания ненужный на конкретный момент объектов) например режим постройки пикать землю id=1, режим удаления растительности пикать растительность чтобы удалить это id=2, и чтобы приэтом железно не пикалась земля
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
30.08.2011, 00:03
|
#430
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: Xors3D
Да, возможно, стоит сделать.
Только лучше это писать на оф.форум. Ибо булку я воспринимаю как развлечение, по большому счету.
__________________
|
(Offline)
|
|
30.08.2011, 00:03
|
#431
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Xors3D
Это неоправданно передёргивает баланс в сторону казуальности в отношении "возможности/простота"
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
30.08.2011, 11:11
|
#432
|
Мастер
Регистрация: 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
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: Xors3D
xEof при любых раскладах выдает 0. Другие функции работают, прошу проверить. Билд ксорса последний
|
(Offline)
|
|
31.08.2011, 21:47
|
#434
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: Xors3D
this->patience--;
xeof.zip
__________________
|
(Offline)
|
|
31.08.2011, 22:36
|
#435
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: Xors3D
короче я там сам протупил флаги оказывается есть LS_CR
PS. c++ позволяет использовать enum, может возможно его както сгенерить в хедер?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
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.
|