mitm001 5 лет назад
Родитель
Сommit
47deda789c

+ 1 - 1
docs/modules/ROOT/pages/documentation.adoc

@@ -84,7 +84,7 @@ The wiki is designed to be read in the order the links are presented in the navi
 
 Are you an experienced Java developer who wants to add new features or contribute patches to the jME3 project?
 
-*  Get inspired by existing xref:contributions/contributions.adoc[contributions]
+*  Get inspired by existing xref:contributions:contributions.adoc[contributions]
 *  link:https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/CONTRIBUTING.md[How to contribute to jMonkeyEngine]
 *  link:https://github.com/jMonkeyEngine/wiki#jmonkeyengine-documentation[Become a Wiki Editor]
 *  link:http://hub.jmonkeyengine.org/c/contribution-depot-jme3[Chime in on the Contributors Forum]

+ 1 - 1
docs/modules/ROOT/pages/jme3/features.adoc

@@ -280,7 +280,7 @@ a|OGG Vorbis music and sounds
 
 == Miscellaneous
 
-*  xref:core:app/state/application_states.adoc[Application States] and xref:core:scene/control/custom_controls.adoc[Controls] to implement xref:jme3/advanced/update_loop.adoc[game logic]
+*  xref:core:app/state/application_states.adoc[Application States] and xref:core:scene/control/custom_controls.adoc[Controls] to implement xref:core:app/update_loop.adoc[game logic]
 *  xref:core:cinematic/cinematics.adoc[Cinematics and motion paths]
 *  xref:core:renderer/camera.adoc[Camera System]
 **  Normal or parallel view

+ 2 - 2
docs/modules/core/pages/app/simpleapplication.adoc

@@ -219,7 +219,7 @@ a|public void simpleInitApp()
 a|Override this method to initialize the game scene. Here you load and create objects, attach Spatials to the rootNode, and bring everything in its starts position. See also xref:app/state/application_states.adoc[Application States] for best practices.
 
 a|public void simpleUpdate(float tpf)
-a|Override this method to hook into the xref:jme3/advanced/update_loop.adoc[update loop], all code you put here is repeated in a loop. Use this loop to poll the current game state and respond to changes, or to let the game mechanics generate encounters and initiate state changes. Use the float `tpf` as a factor to time actions relative to the _time per frame_ in seconds: `tpf` is large on slow PCs, and small on fast PCs. +
+a|Override this method to hook into the xref:app/update_loop.adoc[update loop], all code you put here is repeated in a loop. Use this loop to poll the current game state and respond to changes, or to let the game mechanics generate encounters and initiate state changes. Use the float `tpf` as a factor to time actions relative to the _time per frame_ in seconds: `tpf` is large on slow PCs, and small on fast PCs. +
 For more info on how to hook into the update loop, see xref:app/state/application_states.adoc[Application States] and xref:scene/control/custom_controls.adoc[Custom Controls].
 
 a|public void simpleRender(RenderManager rm)
@@ -237,7 +237,7 @@ Use `app.setShowSettings(true);` to present the user with a splashscreen and the
 
 == Default Input Mappings
 
-The following default navigational input actions are mapped by the default `flyCam` control in a SimpleApplication: You can use these mappings for debugging and testing until you implement custom xref:jme3/advanced/input_handling.adoc[input handling].
+The following default navigational input actions are mapped by the default `flyCam` control in a SimpleApplication: You can use these mappings for debugging and testing until you implement custom xref:input/input_handling.adoc[input handling].
 [cols="2", options="header"]
 |===
 

+ 12 - 16
docs/modules/core/pages/input/combo_moves.adoc

@@ -1,16 +1,12 @@
 = Combo Moves
-:author:
-:revnumber:
-:revdate: 2016/03/17 20:48
+:revnumber: 2.0
+:revdate: 2020/07/24
 :keywords: keyinput, input, documentation
-:relfileprefix: ../../
-:imagesdir: ../..
-ifdef::env-github,env-browser[:outfilesuffix: .adoc]
 
 
 The ComboMoves class allows you to define combinations of inputs that trigger special actions. Entering an input combo correctly can bring the player incremental rewards, such as an increased chance to hit, an increased effectiveness, or decreased change of being blocked, whatever the game designer chooses. link:http://en.wikipedia.org/wiki/Combo_%28video_gaming%29[More background info]
 
-Combos are usually a series of inputs, in a fixed order: For example a keyboard combo can look  like: “press Down, then Down+Right together, then Right.
+Combos are usually a series of inputs, in a fixed order: For example a keyboard combo can look  like: "`press`" Down, then Down+Right together, then Right.
 
 Usage:
 
@@ -31,7 +27,7 @@ Copy the two classes ComboMoveExecution.java and ComboMove.java into your applic
 
 == Create Input Triggers
 
-First you <<jme3/advanced/input_handling#,define your game's inputs>> as you usually do: Implement the com.jme3.input.controls.ActionListener interface for your class, and add triggers mappings such as com.jme3.input.controls.KeyTrigger and com.jme3.input.KeyInput.
+First you xref:input/input_handling.adoc.adoc[define your game's inputs] as you usually do: Implement the com.jme3.input.controls.ActionListener interface for your class, and add triggers mappings such as com.jme3.input.controls.KeyTrigger and com.jme3.input.KeyInput.
 
 For example:
 
@@ -53,7 +49,7 @@ inputManager.addListener(this, "Left", "Right", "Up", "Down", "Attack1");
 
 For each of  your combo moves, you specify the series of inputs that will trigger it. The order in which you define them is the order the player has to press them for the step to be recorded. When all steps have been recorded, the combo is triggered.
 
-The following example shows how a fireball combo move is triggered by pressing the navigation keys for “down, down+right, right, in this order.
+The following example shows how a fireball combo move is triggered by pressing the navigation keys for "`down, down+right, right`", in this order.
 
 [source,java]
 ----
@@ -86,27 +82,27 @@ Use the following ComboMove methods to specify the combo:
 a|ComboMove Method
 a|Description
 
-a|press(“A).done(); +press(“A,“B).done();
+a|press("`A`").done(); +press("`A`","`B`").done();
 a|Combo step is recorded if A is entered. +Combo step is recorded if A and B are entered simultaneously.
 
-a|notPress(“A).done(); +notPress(“A,“B).done();
+a|notPress("`A`").done(); +notPress("`A`","`B`").done();
 a|Combo step is recorded if A is released. +Combo step is recorded if A and B are both released.
 
-a|press(“A).notPress(“B).done();
+a|press("`A`").notPress("`B`").done();
 a|Combo step is recorded if A is entered, and not B
 
-a|press(“A).notPress(“B).timeElapsed(0.11f).done();
+a|press("`A`").notPress("`B`").timeElapsed(0.11f).done();
 a|Combo step is recorded a certain time after A and not B is entered. +etc, etc …
 
 a|setPriority(0.5f);
-a|If there is an ambiguity, a high-priority combo will trigger instead of a low-priority combo. This prevents that a similar looking combo step “hijacks another Combo. Use only once per ComboMove.
+a|If there is an ambiguity, a high-priority combo will trigger instead of a low-priority combo. This prevents that a similar looking combo step "`hijacks`" another Combo. Use only once per ComboMove.
 
 a|setUseFinalState(false); +setUseFinalState(true);
 a|This is the final command of the series. +False: Do not wait on a final state, chain combo steps. (?) +True: This is the final state, do not chain combo steps. (?)
 
 |===
 
-The `press()` and `notPress()` methods accept sets of Input Triggers, e.g. `fireball.press(“A,“B,“C).done()`.
+The `press()` and `notPress()` methods accept sets of Input Triggers, e.g. `fireball.press("`A`","`B`","`C`").done()`.
 
 The following getters give you more information about the game state:
 [cols="2", options="header"]
@@ -216,4 +212,4 @@ Test `currentMove.getMoveName()` and proceed to call methods that implement any
 Depending on the game genre, the designer can reward the players' intrinsical or extrinsical skills:
 
 *  (intrinsical:) RPGs typically calculate the success of an attack from the character's in-game training level: The player plays the role of a character whose skill level is defined in numbers. RPGs typically do not offer any Combos.
-*  (extrinsical:) Sport and fighter games typically choose to reward the player's “manual skills: The success of a special move solely depends on the player's own dexterity. These games typically offer optional Combos.
+*  (extrinsical:) Sport and fighter games typically choose to reward the player's "`manual`" skills: The success of a special move solely depends on the player's own dexterity. These games typically offer optional Combos.

+ 5 - 5
docs/modules/core/pages/input/mouse_picking.adoc

@@ -8,7 +8,7 @@ Mouse picking means that the user clicks an object in the scene to select it, or
 
 image:input/mouse-picking.png[mouse-picking.png,width="",height=""]
 
-See <<jme3/advanced/input_handling#,Input Handling>> for details on how to define the necessary input triggers, input mappings, and input listeners.
+See xref:input/input_handling.adoc.adoc[Input Handling] for details on how to define the necessary input triggers, input mappings, and input listeners.
 
 
 == Pick a Target Using Fixed Crosshairs
@@ -20,7 +20,7 @@ The following `pick target` input mapping implements an action that determines w
 .  Map the `pick target` action to a MouseButtonTrigger.
 .  Implement the action in the Listener.
 
-The following example rotates Spatials named “Red Box or “Blue Box when they are clicked. Modify this code to do whatever your game needs to do with the identified target (shoot it, take it, move it, etc).
+The following example rotates Spatials named "`Red Box`" or "`Blue Box`" when they are clicked. Modify this code to do whatever your game needs to do with the identified target (shoot it, take it, move it, etc).
 
 [source,java]
 ----
@@ -37,7 +37,7 @@ The following example rotates Spatials named “Red Box or “Blue Box when they
          rootNode.collideWith(ray, results);
          // Print the results so we see what is going on
          for (int i = 0; i < results.size(); i++) {
-           // For each “hit”, we know distance, impact point, geometry.
+           // For each "hit", we know distance, impact point, geometry.
            float dist = results.getCollision(i).getDistance();
            Vector3f pt = results.getCollision(i).getContactPoint();
            String target = results.getCollision(i).getGeometry().getName();
@@ -71,7 +71,7 @@ The following `pick target` input mapping implements an action that determines w
 .  Remap the inputs for camera rotation, or deactivate camera rotation.
 .  Implement the action in the Listener.
 
-The following example rotates Spatials named “Red Box or “Blue Box when they are clicked. Modify this code to do whatever your game needs to do with the identified target (shoot it, take it, move it, etc).
+The following example rotates Spatials named "`Red Box`" or "`Blue Box`" when they are clicked. Modify this code to do whatever your game needs to do with the identified target (shoot it, take it, move it, etc).
 
 [source,java]
 ----
@@ -91,7 +91,7 @@ private AnalogListener analogListener = new AnalogListener() {
         rootNode.collideWith(ray, results);
         // (Print the results so we see what is going on:)
         for (int i = 0; i < results.size(); i++) {
-          // (For each “hit”, we know distance, impact point, geometry.)
+          // (For each "hit", we know distance, impact point, geometry.)
           float dist = results.getCollision(i).getDistance();
           Vector3f pt = results.getCollision(i).getContactPoint();
           String target = results.getCollision(i).getGeometry().getName();

+ 1 - 1
docs/modules/core/pages/renderer/making_the_camera_follow_a_character.adoc

@@ -10,7 +10,7 @@ There are two ways how the camera can do that:
 *  Registering a chase camera to the player and the input manager.
 *  Attaching the camera to the character using a camera node.
 
-*Important:* Using third-person view requires you to deactivate the default flyCam (first-person view). This means that you have to configure your own navigation (<<jme3/advanced/input_handling#,key inputs and analogListener>>) that make your player character walk. For moving a physical player character, use `player.setWalkDirection()`, for a non-physical character you can use `player.move()`.
+*Important:* Using third-person view requires you to deactivate the default flyCam (first-person view). This means that you have to configure your own navigation (xref:input/input_handling.adoc.adoc[key inputs and analogListener]) that make your player character walk. For moving a physical player character, use `player.setWalkDirection()`, for a non-physical character you can use `player.move()`.
 
 
 == Code Samples

+ 2 - 2
docs/modules/physics/pages/control/vehicles.adoc

@@ -204,7 +204,7 @@ Not shown here is that we also created a Material `mat`.
 
 == Steering the Vehicle
 
-Not shown here is the standard way how we map the input keys to actions (see full code sample). Also refer to <<jme3/advanced/input_handling#,Input Handling>>).
+Not shown here is the standard way how we map the input keys to actions (see full code sample). Also refer to xref:core:input/input_handling.adoc.adoc[Input Handling]).
 
 In the ActionListener, we implement the actions that control the vehicle's direction and speed. For the four directions (accelerate=up, brake=down, left, right), we specify how we want the vehicle to move.
 
@@ -276,6 +276,6 @@ Read the xref:collision/physics_listeners.adoc[Physics Listeners] documentation
 
 == Best Practices
 
-This example shows a very simple but functional vehicle. For a game you would implement steering behaviour and acceleration with values that are typical for the type of vehicle that you want to simulate. Instead of a box, you load a chassis model. You can consider using an <<jme3/advanced/input_handling#,AnalogListener>> to respond to key events in a more sophisticated way.
+This example shows a very simple but functional vehicle. For a game you would implement steering behaviour and acceleration with values that are typical for the type of vehicle that you want to simulate. Instead of a box, you load a chassis model. You can consider using an xref:core:input/input_handling.adoc[AnalogListener] to respond to key events in a more sophisticated way.
 
 For a more advanced example, look at link:https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-examples/src/main/java/jme3test/bullet/TestFancyCar.java[TestFancyCar.java].

+ 4 - 4
docs/modules/tutorials/pages/concepts/faq.adoc

@@ -229,7 +229,7 @@ Change the geometry's translation (position) live in the update loop using setLo
 *Learn more:*
 
 * xref:beginner/hello_main_event_loop.adoc[Hello Loop]
-* xref:ROOT:jme3/advanced/update_loop.adoc[Update Loop]>
+* xref:core:app/update_loop.adoc[Update Loop]>
 * xref:core:scene/control/custom_controls.adoc[Custom Controls]
 * xref:core:cinematic/cinematics.adoc[Cinematics]
 
@@ -470,7 +470,7 @@ Use Controls to define the behaviour of types of Spatials. Use Application State
 *Learn more:*
 
 * xref:beginner/hello_main_event_loop.adoc[Hello Loop]
-* xref:ROOT:jme3/advanced/update_loop.adoc[Update Loop]
+* xref:core:app/update_loop.adoc[Update Loop]
 * xref:core:scene/control/custom_controls.adoc[Custom Controls]
 * xref:core:app/state/application_states.adoc[Application States]
 * xref:core:cinematic/cinematics.adoc[Cinematics]
@@ -483,7 +483,7 @@ Use com.jme3.input.KeyInput and a Input Listener.
 *Learn more:*
 
 * xref:beginner/hello_input_system.adoc[Hello Input]
-* xref:ROOT:jme3/advanced/input_handling.adoc[Input Handling]
+* xref:core:input/input_handling.adoc[Input Handling]
 
 
 === How do I let players interact by clicking?
@@ -495,7 +495,7 @@ Players typically click the mouse to pick up objects, to open doors, to shoot a
 * xref:beginner/hello_picking.adoc[Hello Picking]
 * xref:ROOT:jme3/advanced/mouse_picking.adoc[Mouse Picking]
 * xref:ROOT:jme3/advanced/collision_and_intersection.adoc[Collision and Intersection]
-* xref:ROOT:jme3/advanced/input_handling.adoc[Input Handling]
+* xref:core:input/input_handling.adoc[Input Handling]
 * link:https://github.com/jMonkeyEngine/jmonkeyengine/tree/master/jme3-core/src/main/java/com/jme3/bounding[com.jme3.bounding.]
 * link:https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-core/src/main/java/com/jme3/math/Ray.java[com.jme3.math.Ray.java]
 * link:https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-core/src/main/java/com/jme3/math/Ray.java[com.jme3.collision.CollisionResults.java]