JBTALKS.CC

标题: [原创+分享+教学]DarkGDK [打印本页]

作者: goodhermit95    时间: 2009-4-10 11:57 PM
标题: [原创+分享+教学]DarkGDK
DarkGDK = Dark Game Development Kit
做Game的。可以做2D、3D Game
完全免费的GDK



相关信息:
【软件公司】The Game Creators
【软件名称】DarkGDK + MSVC++2008Express
【软件全名】Dark Game Development Kit + Microsoft Visual C++ 2008 Express Edition
【软件大小】218MB(Without Update) + 7X MB
【程序语言】C++
【3D   软件】FPS Creators;3D World Studio;Tree Magik.....

1、下载:
Microsoft Visual C++ 2008 Express Edition : (千万别看到这个就怕了)
Microsoft 下载链接
DarkGDK :
Microsoft 下载链接
DarkGDK Update :
The Game Creators 下载链接
Microsoft DirectX 9.0c 2007 AUG SDK
Microsoft 下载链接

2、安装(不会安装你还是把电脑基础搞好先把)
1.Microsoft Visual C++ 2008 Express Edition
2.Microsoft DirectX 9.0c 2007 AUG SDK
3.Dark GDK + Updates

3、踏出你的第一步em0005

1.开启Microsoft Visual C++ 2008 Express Edition
2.点击 New Project...
3.点击DarkGDK->DarkGDK - Game
4.直接按Debug
5.看了什么东东跑出来后,我们来分析Code
(Source File 里的 Main.cpp)
*ccp = C Plus Plus
  1. //看得懂就看里面的英文、看不懂就看这里
  2. //db db db 是 DarkGDK的Function

  3. #Include <"DarkGDK.h"> //有了这个就能使用db db db的Function
  4. //这里是开始DarkGDK开启后所执行的东西
  5. void DarkGDK ( void )
  6. {
  7.         //设置Update Screen 为On、或者启用限制FPS、不太清楚
  8.         dbSyncOn   ( );
  9.         //设置最高FPS为60
  10.         dbSyncRate ( 60 );
  11.         //从Timer里获得随机的数值
  12.         dbRandomize ( dbTimer ( ) );
  13.         //这个是巡回、50次巡回
  14.         for ( int i = 1; i < 50; i++ )
  15.         {
  16.                 //接下来的dbRnd都是0到挂号里的值(随机)

  17.                 //制作1个Sphere,(iID爲该物件ID(自己放,只要是Integer范围),角度(不确定))
  18.                 dbMakeObjectSphere ( i, 1 );
  19.                 //设置该物件的位置,(所设置的物件的id,x 为 横,y为竖,z为高)
  20.                 dbPositionObject ( i, dbRnd ( 20 ), dbRnd ( 20 ), dbRnd ( 20 ) );
  21.                 //设置该物件的大小,(所设置的物件id,x 为 横,y为竖,z为高(大小))
  22.                 dbScaleObject ( i, 100 + dbRnd ( 400 ), 100 + dbRnd ( 400 ), 100 + dbRnd ( 400 ) );
  23.                 //设置该物件的颜色,到这里自己了解...
  24.                 dbColorObject ( i, dbRgb ( dbRnd ( 255 ), dbRnd ( 255 ), dbRnd ( 255 ) ) );
  25.                 //你们问才讲,懒惰打那么多
  26.                 dbSetObjectSpecularPower ( i, 255 );
  27.                 dbSetObjectAmbient ( i, 0 );
  28.         }
  29.         //设置镜头位置,(x,y,z)
  30.         dbPositionCamera ( 10, 10, -20 );
  31.         //当 回寻(GDK)
  32.         while ( LoopGDK ( ) )
  33.         {
  34.                 //显示文字(x,y,文字 as string)
  35.                 dbText ( 0, 0, "Use the up and down arrow keys to move the camera" );
  36.                 //如果按上
  37.                 if ( dbUpKey ( ) )
  38.                 //向前移(一动坐标(fps一秒钟))
  39.                 dbMoveCamera ( 1 );
  40.                 if ( dbDownKey ( ) )
  41.                 dbMoveCamera ( -1 );
  42.                 //C++ 巡回,不会请学基本的东西
  43.                   for ( int i = 1; i < 50; i++ )
  44.                 //旋转物件(iID = i,AngleX(id) + 0.1,一样,一样) 只+0.1是因为Sync 一秒60次,如果太多就一秒60次了,根据FPS进行Coding
  45.                 dbRotateObject ( i, dbObjectAngleX ( i ) + 0.1, dbObjectAngleY ( i ) + 0.2, dbObjectAngleZ ( i ) + 0.3 );
  46.                 //更新画面
  47.                 dbSync ( );
  48.         }
  49.         //当关闭程序,Delete所有的Object
  50.         for ( int i = 1; i < 50; i++ )
  51.         //dbDeleteObject(Int * iID);
  52.         dbDeleteObject ( i );
  53.         //Return
  54.         return;
  55. }
复制代码


等等,Debug不到
说找不到DarkGDK.h
解决方法很简单
[uploading to youtube]

[ 本帖最后由 goodhermit95 于 2009-4-21 11:12 PM 编辑 ]
作者: goodhermit95    时间: 2009-4-10 11:58 PM
这里是一些简单的C++教学
初学者
Program就是打Code然后Run的时候执行Code

简单的东西
0.符号
1.IfThenElse
2.While
3.for...
4.void
5.class
6.include
学了这些东西比较容易上手,还有一些资料可以参考这里

0.符号

简单的
() :
这个是执行该Command所需的资料的Container
; :
写完Code后面就要放这个,不然就是等于没有写完
"" :
包着String(什么是String?证明你没看goodday的贴)
-> :
这个你自己试试看。我不会解释
== :
等于的意思
[] :
Array
{} :
1.Array
2.包着void里的Command

1.If Then Else

  1. if(condition)
  2. {
  3. }

  4. /example
  5. if(this->Text == ""
复制代码



学些有用的吧



载入物件skybox2.x

  1. //DbLoadObject(STR * NAME)
  2. dbLoadObject("skybox2.x");
复制代码


加大距离


  1. //dmSetCameraRange(距离,?)
  2. dbSetCameraRange(30000,0.4f);
复制代码

[ 本帖最后由 goodhermit95 于 2009-4-20 11:29 PM 编辑 ]
作者: goodhermit95    时间: 2009-4-11 12:26 AM
保留~~~~~~~~~~~~
作者: XIAO-WEI    时间: 2009-4-11 05:37 AM
之前下载VisualStudioExpress就有注意这个GDK了。
只是当时还没发布。后来发布了就没时间去接触。呵呵。
也不知道好不好用。真希望楼主快快分享更多相关的讯息!
作者: goodhermit95    时间: 2009-4-11 11:11 PM
标题: 回复 #4 XIAO-WEI 的帖子
谢谢
幸好第一个支持我的人不是那些以为做Game很容易的
^_^
作者: XIAO-WEI    时间: 2009-4-12 08:05 AM
原帖由 goodhermit95 于 2009-4-11 11:11 PM 发表
谢谢
幸好第一个支持我的人不是那些以为做Game很容易的
^_^

设计Game要花好多心思。。。
比起一般应用程式,更伤人脑筋呢。。。
其实我也还蛮期待这个GDK好用!
之前被骗去用OGRE,非专门的GDK,只是一般3D-Engine。。。
不过确实也是不错。。。
作者: goodhermit95    时间: 2009-4-12 07:05 PM
标题: 回复 #6 XIAO-WEI 的帖子
想到都软了
这个GDK蛮好用,只是有错误他不会跟你讲,要自己去找
比如

dbLoadObject("nothisfile.x",1);

他不会跟你讲找不到nothisfile,直接没有Load
On error resume next 的意思
作者: goodhermit95    时间: 2009-4-20 11:30 PM
考完了,更新了,加了Goodday的贴(datatype)
作者: Super-Tomato    时间: 2009-4-21 02:59 AM
樓主把安裝步驟加上會比較好, 之前你也因為這個問題而求助, 所以避免其他人再走同樣的路, 還是寫出來的好一些
作者: 冥    时间: 2009-4-21 12:02 PM
我也是想学...很有兴趣...加油...继续加多点在...
作者: goodhermit95    时间: 2009-4-21 11:01 PM
标题: 回复 #9 Super-Tomato 的帖子
哈哈哈
那个问题
好的em0013
作者: GloOmY啊豪    时间: 2009-4-22 11:25 PM
留个脚印先~
日后慢慢学
作者: XIAO-WEI    时间: 2009-7-2 01:58 AM
不知道我们的goodhermit95同学,有没有继续使用这GDK呢?
之前好像看到你在广招同好,想要一起写个游戏。进行得如何了?呵呵。
天啊!最近老是在弄EmbeddedSystem的Firmware。。。完全没有时间接触这个GDK。。。
好期待看到大家的成果!
作者: goodhermit95    时间: 2009-7-2 10:28 AM
标题: 回复 #13 XIAO-WEI 的帖子
这个GDK不好用
他没有分……我的话我会……
camera.rotate();
camera.setpostion();
他是……
dbRotateCamera();
dbSetCameraPosition();

我现在做这个game很废,学习系统,读书lv up……
要美术的
对话框不会弄
弄到乱七八糟
作者: Super-Tomato    时间: 2009-7-2 11:21 AM
原帖由 goodhermit95 于 2009-7-2 10:28 AM 发表
这个GDK不好用
他没有分……我的话我会……
camera.rotate();
camera.setpostion();
他是……
dbRotateCamera();
dbSetCameraPosition();

我现在做这个game很废,学习系统,读书lv up……
...



如果你打算長遠使用的話, 可以自己寫 class 方便自己以後呼叫這些函數




欢迎光临 JBTALKS.CC (https://jbtalks.my/) Powered by Discuz! X2.5