TGC Codebase Backup



Compass Object Primitive by Visigoth

13th Apr 2007 23:35
Summary

function to create a simple 4 pointed 3D compass. You can modify the length of the pointers and the size of the center sphere



Description

parameters are makecompass(object number, size of center sphere, lenght of pointers)
for example, makecompass(1,10,60) would make a 3D compass as object number 1, the center sphere would be 10 units, and the pointers would be 60 units. It doesn't have pointers for the y-ccordinates, but can easily be modified for that, if you need it.
After you run the function, you can call rotate object to set it at different angles or xrotate, yrotate,zrotate object, etc. Heck, you could probably lock it to screen to use it in a FPS I suppose.



Code
                                    ` This code was downloaded from The Game Creators
                                    ` It is reproduced here with full permission
                                    ` http://www.thegamecreators.com
                                    
                                    function makecompass(objnum,centersize#,armlength#)

make object sphere 1,centersize#
make mesh from object 1,1
delete object 1

make object triangle 1,(centersize# / 2),0,0,0,0,armlength#,-(centersize# / 2),0,0
make mesh from object 2,1
delete object 1

make object triangle 1,0,0,-(centersize# / 2),armlength#,0,0,0,0,(centersize# / 2)
make mesh from object 3,1
delete object 1

make object triangle 1,-(centersize# / 2),0,0,0,0,-(armlength#),(centersize# / 2),0,0
make mesh from object 4,1
delete object 1

make object triangle 1,0,0,(centersize# / 2),-(armlength#),0,0,0,0,-(centersize# / 2)
make mesh from object 5,1
delete object 1

make object triangle 1,-(centersize# / 2),0,0,0,0,armlength#,(centersize# / 2),0,0
make mesh from object 6,1
delete object 1

make object triangle 1,0,0,(centersize# / 2),armlength#,0,0,0,0,-(centersize# / 2)
make mesh from object 7,1
delete object 1

make object triangle 1,(centersize# / 2),0,0,0,0,-(armlength#),-(centersize# / 2),0,0
make mesh from object 8,1
delete object 1

make object triangle 1,0,0,-(centersize# / 2),-(armlength#),0,0,0,0,(centersize# / 2)
make mesh from object 9,1
delete object 1

lock vertexdata for mesh 1
for I = 2 to 9
   add mesh to vertexdata I
next I
unlock vertexdata


make object objnum,1,0