- Timestamp:
- May 17, 2019, 1:32:44 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/OrxoBlox_FS19/src/modules/OrxoBlox/OrxoBloxCenterpoint.h
r12366 r12396 1 /*2 * ORXONOX - the hottest 3D action shooter ever to exist3 * > www.orxonox.net <4 *5 *6 * License notice:7 *8 * This program is free software; you can redistribute it and/or9 * modify it under the terms of the GNU General Public License10 * as published by the Free Software Foundation; either version 211 * of the License, or (at your option) any later version.12 *13 * This program is distributed in the hope that it will be useful,14 * but WITHOUT ANY WARRANTY; without even the implied warranty of15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the16 * GNU General Public License for more details.17 *18 * You should have received a copy of the GNU General Public License19 * along with this program; if not, write to the Free Software20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.21 *22 * Author:23 * Fabian 'x3n' Landau24 * Co-authors:25 * ...26 *27 */28 29 /**30 @file OrxoBloxCenterpoint.h31 @brief Declaration of the OrxoBloxCenterpoint class.32 @ingroup OrxoBlox33 */34 35 1 #ifndef _OrxoBloxCenterpoint_H__ 36 2 #define _OrxoBloxCenterpoint_H__ … … 46 12 namespace orxonox 47 13 { 48 49 /**50 @brief51 The OrxoBloxCenterpoint implements the playing field @ref orxonox::OrxoBlox "OrxoBlox" takes place in and allows for many parameters of the minigame to be set.52 The playing field resides in the x,z-plane, with the x-axis being the horizontal axis and the z-axis being the vertical axis.53 54 Various parameters can be set:55 - The <b>dimension</b> is a vector, that defines the width and height of the playing field. The default is <em>(200, 120)</em>.56 - The <b>balltemplate</b> is a template that is applied to the @ref orxonox::OrxoBloxBall "OrxoBloxBall", it can be used to attach different things to it, e.g. its @ref orxonox::Model "Model". See below for a usage example.57 - The <b>battemplate</b> is a template that is applied to the @ref orxonox::OrxoBloxBall "OrxoBloxBat", it can be used to attach different things to it, e.g. its @ref orxonox::Model "Model". See below for a usage example.58 - The <b>ballspeed</b> is the speed with which the @ref orxonox::OrxoBloxBall "OrxoBloxBall" moves. The default is <em>100</em>.59 - The <b>ballaccfactor</b> is the acceleration factor for the @ref orxonox::OrxoBloxBall "OrxoBloxBall". The default is <em>1.0</em>.60 - The <b>batspeed</b> is the speed with which the @ref orxonox::OrxoBloxBat "OrxoBloxBats" move. The default is <em>60</em>.61 - The <b>batlength</b> is the length of the @ref orxonox::OrxoBloxBat "OrxoBloxBats" as the percentage of the height of the playing field. The default is <em>0.25</em>.62 63 An example in XML of the OrxoBloxCenterpoint would be:64 65 First the needed templates:66 The template for the @ref orxonox::OrxoBloxBall "OrxoBloxBall".67 @code68 <Template name="OrxoBloxball">69 <OrxoBloxBall>70 <attached>71 <Model mesh="sphere.mesh" scale="2" />72 <ParticleSpawner name="hiteffect" position="0,0,0" source="Orxonox/sparks2" lifetime="0.01" autostart="0" mainstate="spawn" />73 </attached>74 <eventlisteners>75 <EventTarget target="hiteffect" />76 </eventlisteners>77 </OrxoBloxBall>78 </Template>79 @endcode80 As can be seen, a sphere is attached as the @ref orxonox::Model "Model" for the @ref orxonox::OrxoBloxBall "OrxoBloxBall", and also an @ref orxonox::EventListener "EventListener" that triggers a @ref orxonox::ParticleSpawner "ParticleSpawner", whenever the ball hits the boundaries is attached.81 82 Additionally the template for the @ref orxonox::OrxoBloxBat "OrxoBloxBat".83 @code84 <Template name="OrxoBloxbatcameras" defaults="0">85 <OrxoBloxBat>86 <camerapositions>87 <CameraPosition position="0,200,0" pitch="-90" absolute="true" />88 </camerapositions>89 </OrxoBloxBat>90 </Template>91 14 92 <Template name="OrxoBloxbat">93 <OrxoBloxBat camerapositiontemplate=OrxoBloxbatcameras>94 <attached>95 <Model position="0,0,3" mesh="cube.mesh" scale3D="14,2,2" />96 </attached>97 </OrxoBloxBat>98 </Template>99 @endcode100 As can be seen, there are actually two templates. The first template is needed to set the camera for the @ref orxonox::OrxoBloxBat "OrxoBloxBat". The second template ist the actual template for the @ref orxonox::OrxoBloxBat "OrxoBloxBat", the template for the camera position is added and a @ref orxonox::Model "Model" for the @ref orxonox::OrxoBloxBat "OrxoBloxBat" is attached.101 102 Finally the OrxoBloxCenterpoint is created.103 @code104 <OrxoBloxCenterpoint name="OrxoBloxcenter" dimension="200,120" balltemplate="OrxoBloxball" battemplate="OrxoBloxbat" ballspeed="200" ballaccfactor="1.0" batspeed="130" batlength="0.25">105 <attached>106 <Model position="0,0,60" mesh="cube.mesh" scale3D="105,1,1" />107 <Model position="0,0,-60" mesh="cube.mesh" scale3D="105,1,1" />108 </attached>109 </OrxoBloxCenterpoint>110 @endcode111 All parameters are specified. And also two @ref orxonox::Model "Models" (for the upper and lower boundary) are attached.112 113 For a more elaborate example, have a look at the <code>OrxoBlox.oxw</code> level file.114 115 @author116 Fabian 'x3n' Landau117 118 @ingroup OrxoBlox119 */120 15 class _OrxoBloxExport OrxoBloxCenterpoint : public StaticEntity 121 16 {
Note: See TracChangeset
for help on using the changeset viewer.