CodeBase - Lecon 2 pour 3d

Return to the CodeBase listing

Category: Complete Applications

Version: 1.0

0
0

Information

Uploaded: 1st Mar 2005 00:27

Modified: 1st Jan 1970 01:00

Author:  Anonymous Coder

Summary

` This code was downloaded from The Game Creators ` It is reproduced here with full permission ` http://www.thegamecreators.com `--------------------------- `Limit Rush `Lesson 02 `--------------------------- `http://www.binarymoon.co.uk `Ben aka Mop `--------------------------- `-------- `INCLUDES `-------- `include the MatEdit LoadMatrix files #include "LoadMatrix.dba" `------ `ARRAYS `------ `declare the MatEdit variables Dim BigMatrix(600,600,1) Dim StartLoc_X(1): Dim StartLoc_Z(1):Dim Info(2) Dim TArrayX(1): Dim TArrayZ(1): Dim FKey(10,1) Dim ColData(100): Dim ZoneData(100): Dim Tiles(500,500) Dim OverTexture$(100): Dim OverName$(20): Dim ReplaceTex(100) Dim MOffsetX(25): Dim MOffsetY(25) Dim MWire(20): Dim MGhost(20): Dim Lock(20) Dim MatX#(20): Dim MatY#(20): Dim MatZ#(20) Dim MatWidth#(20): Dim MatHeight#(20) Dim TilesX(20): Dim TilesZ(20) Dim MatHi#(20): Dim MatLo#(20) `---------------------------------- `Initialize Arena Scaling Variables `---------------------------------- ArenaXYZ_SF = 15000 LightXZ_SF# = .46 LightY_SF# = .55 `set up the program sync on sync rate 40 hide mouse autocam off `load the matrix LoadMatrix("map",1) `temporary load level info load object "media/arena.x",100 load object "media/arena_light.x",101 `scale the arena scale object 100, ArenaXYZ_SF, ArenaXYZ_SF, ArenaXYZ_SF scale object 101, ArenaXYZ_SF*LightXZ_SF#, ArenaXYZ_SF*LightY_SF#, ArenaXYZ_SF*LightXZ_SF# `position arena position object 100,247,188,247 position object 101,247,188,247 `add mip-mapping set matrix texture 1,2,1 set object texture 100,0,1 set object texture 101,2,1 `set fake light properties set object 101,1,1,0,1,0,0,1 ghost object on 101 `set fog properties fog on fog distance 2000 fog color RGB(128,0,0) `set amobient light amount set ambient light 10 `colour main light color light 0,RGB(0,0,160) `make a light make light 1 set point light 1,250,200,250 color light 1,RGB(255,255,100) `--------- `MAIN LOOP `--------- main: do `the following is temporary. There will be more but it will made later `get keyboard input for movement if upkey()=1 then move camera 4 if downkey()=1 then move camera -4 if leftkey()=1 then yrotate camera wrapvalue(camera angle y()-4) if rightkey()=1 then yrotate camera wrapvalue(camera angle y()+4) `sort out the camera height x#=camera position x() z#=camera position z() y#=get ground height(1,x#,z#)+10 ` debug code - show the position of the camera position camera x#,y#,z# text 5,5, "X Position = " + str$(x#) text 5,25, "Y Position = " + str$(y#) text 5,45, "Z Position = " + str$(z#) `update the screen sync loop

Full Description

` This code was downloaded from The Game Creators<br /> ` It is reproduced here with full permission<br /> ` http://www.thegamecreators.com<br /> <br /> `---------------------------<br /> `Limit Rush<br /> `Lesson 02<br /> `---------------------------<br /> `http://www.binarymoon.co.uk<br /> `Ben aka Mop<br /> `---------------------------<br /> <br /> `--------<br /> `INCLUDES<br /> `--------<br /> `include the MatEdit LoadMatrix files<br /> #include &quot;LoadMatrix.dba&quot;<br /> <br /> `------<br /> `ARRAYS<br /> `------<br /> `declare the MatEdit variables<br /> Dim BigMatrix(600,600,1)<br /> Dim StartLoc_X(1): Dim StartLoc_Z(1):Dim Info(2)<br /> Dim TArrayX(1): Dim TArrayZ(1): Dim FKey(10,1)<br /> Dim ColData(100): Dim ZoneData(100): Dim Tiles(500,500)<br /> Dim OverTexture$(100): Dim OverName$(20): Dim ReplaceTex(100)<br /> Dim MOffsetX(25): Dim MOffsetY(25)<br /> Dim MWire(20): Dim MGhost(20): Dim Lock(20)<br /> Dim MatX#(20): Dim MatY#(20): Dim MatZ#(20)<br /> Dim MatWidth#(20): Dim MatHeight#(20)<br /> Dim TilesX(20): Dim TilesZ(20)<br /> Dim MatHi#(20): Dim MatLo#(20)<br /> <br /> <br /> `----------------------------------<br /> `Initialize Arena Scaling Variables<br /> `----------------------------------<br /> ArenaXYZ_SF = 15000<br /> LightXZ_SF# = .46<br /> LightY_SF# = .55<br /> <br /> <br /> <br /> `set up the program<br /> sync on<br /> sync rate 40<br /> hide mouse<br /> autocam off<br /> <br /> `load the matrix<br /> LoadMatrix(&quot;map&quot;,1)<br /> <br /> `temporary load level info<br /> load object &quot;media/arena.x&quot;,100<br /> load object &quot;media/arena_light.x&quot;,101<br /> <br /> `scale the arena<br /> scale object 100, ArenaXYZ_SF, ArenaXYZ_SF, ArenaXYZ_SF<br /> scale object 101, ArenaXYZ_SF*LightXZ_SF#, ArenaXYZ_SF*LightY_SF#, ArenaXYZ_SF*LightXZ_SF#<br /> <br /> `position arena<br /> position object 100,247,188,247<br /> position object 101,247,188,247<br /> <br /> <br /> `add mip-mapping<br /> set matrix texture 1,2,1<br /> set object texture 100,0,1<br /> set object texture 101,2,1<br /> <br /> `set fake light properties<br /> set object 101,1,1,0,1,0,0,1<br /> ghost object on 101<br /> <br /> `set fog properties<br /> fog on<br /> fog distance 2000<br /> fog color RGB(128,0,0)<br /> <br /> `set amobient light amount<br /> set ambient light 10<br /> <br /> `colour main light<br /> color light 0,RGB(0,0,160)<br /> <br /> `make a light<br /> make light 1<br /> set point light 1,250,200,250<br /> color light 1,RGB(255,255,100)<br /> <br /> `---------<br /> `MAIN LOOP<br /> `---------<br /> main:<br /> do<br /> `the following is temporary. There will be more but it will made later<br /> `get keyboard input for movement<br /> if upkey()=1 then move camera 4<br /> if downkey()=1 then move camera -4<br /> if leftkey()=1 then yrotate camera wrapvalue(camera angle y()-4)<br /> if rightkey()=1 then yrotate camera wrapvalue(camera angle y()+4)<br /> <br /> `sort out the camera height<br /> x#=camera position x()<br /> z#=camera position z()<br /> y#=get ground height(1,x#,z#)+10<br /> <br /> ` debug code - show the position of the camera<br /> position camera x#,y#,z#<br /> text 5,5, &quot;X Position = &quot; + str$(x#)<br /> text 5,25, &quot;Y Position = &quot; + str$(y#)<br /> text 5,45, &quot;Z Position = &quot; + str$(z#)<br /> <br /> `update the screen<br /> sync<br /> loop

Comments

No comments yet.