* Added smooth terrain editing to TerrainTestModifyHeight
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7645 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
This commit is contained in:
		
							parent
							
								
									17af890e86
								
							
						
					
					
						commit
						5c8a7c4dd4
					
				| @ -49,13 +49,10 @@ import com.jme3.math.Vector3f; | |||||||
| import com.jme3.renderer.Camera; | import com.jme3.renderer.Camera; | ||||||
| import com.jme3.terrain.geomipmap.TerrainLodControl; | import com.jme3.terrain.geomipmap.TerrainLodControl; | ||||||
| import com.jme3.terrain.geomipmap.TerrainQuad; | import com.jme3.terrain.geomipmap.TerrainQuad; | ||||||
| import com.jme3.terrain.heightmap.AbstractHeightMap; |  | ||||||
| import com.jme3.terrain.heightmap.ImageBasedHeightMap; |  | ||||||
| import com.jme3.texture.Texture; | import com.jme3.texture.Texture; | ||||||
| import com.jme3.texture.Texture.WrapMode; | import com.jme3.texture.Texture.WrapMode; | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| import jme3tools.converters.ImageToAwt; |  | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * |  * | ||||||
| @ -75,28 +72,35 @@ public class TerrainTestModifyHeight extends SimpleApplication { | |||||||
|     private float dirtScale = 16; |     private float dirtScale = 16; | ||||||
|     private float rockScale = 128; |     private float rockScale = 128; | ||||||
|      |      | ||||||
|  |     private boolean raiseTerrain = false; | ||||||
|  |     private boolean lowerTerrain = false; | ||||||
|  | 
 | ||||||
|     public static void main(String[] args) { |     public static void main(String[] args) { | ||||||
|         TerrainTestModifyHeight app = new TerrainTestModifyHeight(); |         TerrainTestModifyHeight app = new TerrainTestModifyHeight(); | ||||||
|         app.start(); |         app.start(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public void initialize() { |     public void simpleUpdate(float tpf){ | ||||||
|         super.initialize(); |  | ||||||
| 
 |  | ||||||
|         loadHintText(); |  | ||||||
|         initCrossHairs(); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     @Override |  | ||||||
|     public void update() { |  | ||||||
|         super.update(); |  | ||||||
| 
 |  | ||||||
|         updateHintText(); |         updateHintText(); | ||||||
|  |          | ||||||
|  |         if (raiseTerrain){ | ||||||
|  |             Vector3f intersection = getWorldIntersection(); | ||||||
|  |             if (intersection != null) { | ||||||
|  |                 adjustHeight(intersection, 64, 1); | ||||||
|  |             } | ||||||
|  |         }else if (lowerTerrain){ | ||||||
|  |             Vector3f intersection = getWorldIntersection(); | ||||||
|  |             if (intersection != null) { | ||||||
|  |                 adjustHeight(intersection, 64, -1); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|     } |     } | ||||||
|      |      | ||||||
|     @Override |     @Override | ||||||
|     public void simpleInitApp() { |     public void simpleInitApp() { | ||||||
|  |         loadHintText(); | ||||||
|  |         initCrossHairs(); | ||||||
|         setupKeys(); |         setupKeys(); | ||||||
| 
 | 
 | ||||||
|         // First, we load up our textures and the heightmap texture for the terrain |         // First, we load up our textures and the heightmap texture for the terrain | ||||||
| @ -203,21 +207,10 @@ public class TerrainTestModifyHeight extends SimpleApplication { | |||||||
|                     terrain.setMaterial(matTerrain); |                     terrain.setMaterial(matTerrain); | ||||||
|                 } |                 } | ||||||
|             } else if (name.equals("Raise")) { |             } else if (name.equals("Raise")) { | ||||||
|                 if (pressed) { |                 raiseTerrain = pressed; | ||||||
|                     Vector3f intersection = getWorldIntersection(); |  | ||||||
|                     if (intersection != null) { |  | ||||||
|                         adjustHeight(intersection, 64, 1); |  | ||||||
|                     } |  | ||||||
|                 } |  | ||||||
|             } else if (name.equals("Lower")) { |             } else if (name.equals("Lower")) { | ||||||
|                 if (pressed) { |                 lowerTerrain = pressed; | ||||||
|                     Vector3f intersection = getWorldIntersection(); |  | ||||||
|                     if (intersection != null) { |  | ||||||
|                         adjustHeight(intersection, 32, -1); |  | ||||||
|                     } |  | ||||||
|                 } |  | ||||||
|             } |             } | ||||||
| 
 |  | ||||||
|         } |         } | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user