Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
Suck It
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
2
Issues
2
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
GameDevWeek
W
Wintersemester 2018-2019
Unity
Suck It
Commits
215476b2
Commit
215476b2
authored
Mar 26, 2019
by
Unknown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Charakter Movement Controller
Simple Bewegungskontrolle des Charakters
parent
72d3c154
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
338 additions
and
230 deletions
+338
-230
Assets/_Game/Prefabs/Player.meta
Assets/_Game/Prefabs/Player.meta
+1
-1
Assets/_Game/Prefabs/Player/Player.prefab
Assets/_Game/Prefabs/Player/Player.prefab
+170
-0
Assets/_Game/Prefabs/Player/Player.prefab.meta
Assets/_Game/Prefabs/Player/Player.prefab.meta
+7
-0
Assets/_Game/Scenes/DemoScenePlayerControls.unity
Assets/_Game/Scenes/DemoScenePlayerControls.unity
+72
-156
Assets/_Game/Scripts/Player/InputController.cs
Assets/_Game/Scripts/Player/InputController.cs
+27
-0
Assets/_Game/Scripts/Player/InputController.cs.meta
Assets/_Game/Scripts/Player/InputController.cs.meta
+11
-0
Assets/_Game/Scripts/Player/MovementController.cs
Assets/_Game/Scripts/Player/MovementController.cs
+49
-72
Packages/manifest.json
Packages/manifest.json
+1
-1
No files found.
Assets/
Neuer Ordn
er.meta
→
Assets/
_Game/Prefabs/Play
er.meta
View file @
215476b2
fileFormatVersion: 2
guid:
83b2ccd8caab22846876189bc6815151
guid:
29e650dd7547f494481645632a1c9bd7
folderAsset: yes
DefaultImporter:
externalObjects: {}
...
...
Assets/_Game/Prefabs/Player/Player.prefab
0 → 100644
View file @
215476b2
%YAML
1.1
%TAG
!u!
tag:unity3d.com,2011:
---
!u!1
&52145075018362288
GameObject
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
52145075018362285
}
-
component
:
{
fileID
:
52145075018362290
}
-
component
:
{
fileID
:
2055293003418080559
}
-
component
:
{
fileID
:
52145075018362291
}
-
component
:
{
fileID
:
52145075018362284
}
-
component
:
{
fileID
:
52145075018362287
}
m_Layer
:
0
m_Name
:
Player
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!4
&52145075018362285
Transform
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
52145075018362288
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0
,
y
:
0
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!212
&52145075018362290
SpriteRenderer
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
52145075018362288
}
m_Enabled
:
1
m_CastShadows
:
0
m_ReceiveShadows
:
0
m_DynamicOccludee
:
1
m_MotionVectors
:
1
m_LightProbeUsage
:
1
m_ReflectionProbeUsage
:
1
m_RenderingLayerMask
:
1
m_RendererPriority
:
0
m_Materials
:
-
{
fileID
:
10754
,
guid
:
0000000000000000f000000000000000
,
type
:
0
}
m_StaticBatchInfo
:
firstSubMesh
:
0
subMeshCount
:
0
m_StaticBatchRoot
:
{
fileID
:
0
}
m_ProbeAnchor
:
{
fileID
:
0
}
m_LightProbeVolumeOverride
:
{
fileID
:
0
}
m_ScaleInLightmap
:
1
m_PreserveUVs
:
0
m_IgnoreNormalsForChartDetection
:
0
m_ImportantGI
:
0
m_StitchLightmapSeams
:
0
m_SelectedEditorRenderState
:
0
m_MinimumChartSize
:
4
m_AutoUVMaxDistance
:
0.5
m_AutoUVMaxAngle
:
89
m_LightmapParameters
:
{
fileID
:
0
}
m_SortingLayerID
:
0
m_SortingLayer
:
0
m_SortingOrder
:
0
m_Sprite
:
{
fileID
:
10911
,
guid
:
0000000000000000f000000000000000
,
type
:
0
}
m_Color
:
{
r
:
1
,
g
:
1
,
b
:
1
,
a
:
1
}
m_FlipX
:
0
m_FlipY
:
0
m_DrawMode
:
0
m_Size
:
{
x
:
0.16
,
y
:
0.16
}
m_AdaptiveModeThreshold
:
0.5
m_SpriteTileMode
:
0
m_WasSpriteAssigned
:
1
m_MaskInteraction
:
0
m_SpriteSortPoint
:
0
---
!u!114
&2055293003418080559
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
52145075018362288
}
m_Enabled
:
1
m_EditorHideFlags
:
0
m_Script
:
{
fileID
:
11500000
,
guid
:
15fda2365f7374bbcbe2fb649e0be47b
,
type
:
3
}
m_Name
:
m_EditorClassIdentifier
:
---
!u!114
&52145075018362291
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
52145075018362288
}
m_Enabled
:
1
m_EditorHideFlags
:
0
m_Script
:
{
fileID
:
11500000
,
guid
:
e310ba2b65602490894409ff217e2731
,
type
:
3
}
m_Name
:
m_EditorClassIdentifier
:
m_Speed
:
10
m_JumpForce
:
100
m_MovementSmoothing
:
0.05
m_AirControl
:
1
m_WhatIsGround
:
serializedVersion
:
2
m_Bits
:
512
m_GroundCheck
:
{
fileID
:
52145075018362285
}
m_MaxJumpCount
:
1
OnLandEvent
:
m_PersistentCalls
:
m_Calls
:
[]
m_TypeName
:
UnityEngine.Events.UnityEvent, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
---
!u!50
&52145075018362284
Rigidbody2D
:
serializedVersion
:
4
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
52145075018362288
}
m_BodyType
:
0
m_Simulated
:
1
m_UseFullKinematicContacts
:
0
m_UseAutoMass
:
0
m_Mass
:
1
m_LinearDrag
:
0
m_AngularDrag
:
0.05
m_GravityScale
:
1
m_Material
:
{
fileID
:
0
}
m_Interpolate
:
0
m_SleepingMode
:
1
m_CollisionDetection
:
0
m_Constraints
:
4
---
!u!61
&52145075018362287
BoxCollider2D
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
52145075018362288
}
m_Enabled
:
1
m_Density
:
1
m_Material
:
{
fileID
:
0
}
m_IsTrigger
:
0
m_UsedByEffector
:
0
m_UsedByComposite
:
0
m_Offset
:
{
x
:
0
,
y
:
0
}
m_SpriteTilingProperty
:
border
:
{
x
:
0.049999997
,
y
:
0.049999997
,
z
:
0.049999997
,
w
:
0.049999997
}
pivot
:
{
x
:
0.5
,
y
:
0.5
}
oldSize
:
{
x
:
0.16
,
y
:
0.16
}
newSize
:
{
x
:
0.16
,
y
:
0.16
}
adaptiveTilingThreshold
:
0.5
drawMode
:
0
adaptiveTiling
:
0
m_AutoTiling
:
0
serializedVersion
:
2
m_Size
:
{
x
:
0.16
,
y
:
0.16
}
m_EdgeRadius
:
0
Assets/_Game/Prefabs/Player/Player.prefab.meta
0 → 100644
View file @
215476b2
fileFormatVersion: 2
guid: 2e3528907311e438dab0d393127aa332
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Assets/_Game/Scenes/DemoScenePlayerControls.unity
View file @
215476b2
...
...
@@ -194,159 +194,6 @@ Transform:
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
0
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!1
&754698445
GameObject
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
serializedVersion
:
6
m_Component
:
-
component
:
{
fileID
:
754698448
}
-
component
:
{
fileID
:
754698447
}
-
component
:
{
fileID
:
754698446
}
-
component
:
{
fileID
:
754698449
}
-
component
:
{
fileID
:
754698450
}
m_Layer
:
0
m_Name
:
Player
m_TagString
:
Untagged
m_Icon
:
{
fileID
:
0
}
m_NavMeshLayer
:
0
m_StaticEditorFlags
:
0
m_IsActive
:
1
---
!u!114
&754698446
MonoBehaviour
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
754698445
}
m_Enabled
:
1
m_EditorHideFlags
:
0
m_Script
:
{
fileID
:
11500000
,
guid
:
e310ba2b65602490894409ff217e2731
,
type
:
3
}
m_Name
:
m_EditorClassIdentifier
:
m_JumpForce
:
400
m_MovementSmoothing
:
0.05
m_AirControl
:
0
m_WhatIsGround
:
serializedVersion
:
2
m_Bits
:
513
m_GroundCheck
:
{
fileID
:
754698448
}
OnLandEvent
:
m_PersistentCalls
:
m_Calls
:
[]
m_TypeName
:
UnityEngine.Events.UnityEvent, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
---
!u!212
&754698447
SpriteRenderer
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
754698445
}
m_Enabled
:
1
m_CastShadows
:
0
m_ReceiveShadows
:
0
m_DynamicOccludee
:
1
m_MotionVectors
:
1
m_LightProbeUsage
:
1
m_ReflectionProbeUsage
:
1
m_RenderingLayerMask
:
1
m_RendererPriority
:
0
m_Materials
:
-
{
fileID
:
10754
,
guid
:
0000000000000000f000000000000000
,
type
:
0
}
m_StaticBatchInfo
:
firstSubMesh
:
0
subMeshCount
:
0
m_StaticBatchRoot
:
{
fileID
:
0
}
m_ProbeAnchor
:
{
fileID
:
0
}
m_LightProbeVolumeOverride
:
{
fileID
:
0
}
m_ScaleInLightmap
:
1
m_PreserveUVs
:
0
m_IgnoreNormalsForChartDetection
:
0
m_ImportantGI
:
0
m_StitchLightmapSeams
:
0
m_SelectedEditorRenderState
:
0
m_MinimumChartSize
:
4
m_AutoUVMaxDistance
:
0.5
m_AutoUVMaxAngle
:
89
m_LightmapParameters
:
{
fileID
:
0
}
m_SortingLayerID
:
0
m_SortingLayer
:
0
m_SortingOrder
:
0
m_Sprite
:
{
fileID
:
10911
,
guid
:
0000000000000000f000000000000000
,
type
:
0
}
m_Color
:
{
r
:
1
,
g
:
1
,
b
:
1
,
a
:
1
}
m_FlipX
:
0
m_FlipY
:
0
m_DrawMode
:
0
m_Size
:
{
x
:
0.16
,
y
:
0.16
}
m_AdaptiveModeThreshold
:
0.5
m_SpriteTileMode
:
0
m_WasSpriteAssigned
:
1
m_MaskInteraction
:
0
m_SpriteSortPoint
:
0
---
!u!4
&754698448
Transform
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
754698445
}
m_LocalRotation
:
{
x
:
0
,
y
:
0
,
z
:
0
,
w
:
1
}
m_LocalPosition
:
{
x
:
0
,
y
:
0.148
,
z
:
0
}
m_LocalScale
:
{
x
:
1
,
y
:
1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
2
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!50
&754698449
Rigidbody2D
:
serializedVersion
:
4
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
754698445
}
m_BodyType
:
0
m_Simulated
:
1
m_UseFullKinematicContacts
:
0
m_UseAutoMass
:
0
m_Mass
:
1
m_LinearDrag
:
0
m_AngularDrag
:
0.05
m_GravityScale
:
0
m_Material
:
{
fileID
:
0
}
m_Interpolate
:
0
m_SleepingMode
:
1
m_CollisionDetection
:
0
m_Constraints
:
4
---
!u!61
&754698450
BoxCollider2D
:
m_ObjectHideFlags
:
0
m_CorrespondingSourceObject
:
{
fileID
:
0
}
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
754698445
}
m_Enabled
:
1
m_Density
:
1
m_Material
:
{
fileID
:
0
}
m_IsTrigger
:
0
m_UsedByEffector
:
0
m_UsedByComposite
:
0
m_Offset
:
{
x
:
0
,
y
:
0
}
m_SpriteTilingProperty
:
border
:
{
x
:
0.049999997
,
y
:
0.049999997
,
z
:
0.049999997
,
w
:
0.049999997
}
pivot
:
{
x
:
0.5
,
y
:
0.5
}
oldSize
:
{
x
:
0.16
,
y
:
0.16
}
newSize
:
{
x
:
0.16
,
y
:
0.16
}
adaptiveTilingThreshold
:
0.5
drawMode
:
0
adaptiveTiling
:
0
m_AutoTiling
:
0
serializedVersion
:
2
m_Size
:
{
x
:
0.16
,
y
:
0.16
}
m_EdgeRadius
:
0
---
!u!1
&924553758
GameObject
:
m_ObjectHideFlags
:
0
...
...
@@ -621,13 +468,13 @@ Transform:
m_PrefabInstance
:
{
fileID
:
0
}
m_PrefabAsset
:
{
fileID
:
0
}
m_GameObject
:
{
fileID
:
1589010598
}
m_LocalRotation
:
{
x
:
-0
,
y
:
-0
,
z
:
-0.
38941705
,
w
:
0.9210615
}
m_LocalPosition
:
{
x
:
-
2.09
,
y
:
0.85
,
z
:
0
}
m_LocalRotation
:
{
x
:
-0
,
y
:
-0
,
z
:
-0.
5450903
,
w
:
0.8383773
}
m_LocalPosition
:
{
x
:
-
1.733
,
y
:
1.044
,
z
:
0
}
m_LocalScale
:
{
x
:
2.5
,
y
:
0.1
,
z
:
1
}
m_Children
:
[]
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
4
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
-
45.837
}
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
-
66.062004
}
---
!u!1
&1796083272
GameObject
:
m_ObjectHideFlags
:
0
...
...
@@ -734,3 +581,72 @@ Transform:
m_Father
:
{
fileID
:
0
}
m_RootOrder
:
3
m_LocalEulerAnglesHint
:
{
x
:
0
,
y
:
0
,
z
:
0
}
---
!u!1001
&52145074690762109
PrefabInstance
:
m_ObjectHideFlags
:
0
serializedVersion
:
2
m_Modification
:
m_TransformParent
:
{
fileID
:
0
}
m_Modifications
:
-
target
:
{
fileID
:
52145075018362288
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_Name
value
:
Player
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalPosition.x
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalPosition.y
value
:
1
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalPosition.z
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalRotation.x
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalRotation.y
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalRotation.z
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalRotation.w
value
:
1
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_RootOrder
value
:
2
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalEulerAnglesHint.x
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalEulerAnglesHint.y
value
:
0
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
52145075018362285
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
propertyPath
:
m_LocalEulerAnglesHint.z
value
:
0
objectReference
:
{
fileID
:
0
}
m_RemovedComponents
:
[]
m_SourcePrefab
:
{
fileID
:
100100000
,
guid
:
2e3528907311e438dab0d393127aa332
,
type
:
3
}
Assets/_Game/Scripts/Player/InputController.cs
0 → 100644
View file @
215476b2
using
System.Collections
;
using
System.Collections.Generic
;
using
UnityEngine
;
[
RequireComponent
(
typeof
(
MovementController
))]
public
class
InputController
:
MonoBehaviour
{
private
MovementController
m_Controller
;
private
float
m_XAxis
,
m_YAxis
;
private
bool
m_Jump
=
false
;
void
Start
()
{
//Sucht nach MovementController auf dem selben Gameobject
m_Controller
=
GetComponent
<
MovementController
>();
}
void
FixedUpdate
(){
//Simples abfragen der Inputs
m_XAxis
=
Input
.
GetAxis
(
"Horizontal"
);
m_YAxis
=
Input
.
GetAxis
(
"Vertical"
);
m_Jump
=
Input
.
GetKeyDown
(
KeyCode
.
Space
)
||
Input
.
GetKeyDown
(
KeyCode
.
UpArrow
)
||
Input
.
GetKeyDown
(
KeyCode
.
W
);
//Ruft Move Methode im MovementController auf dient der Bewegung des Charakters
m_Controller
.
Move
(
new
Vector2
(
m_XAxis
,
m_YAxis
),
m_Jump
);
}
}
\ No newline at end of file
Assets/_Game/Scripts/Player/InputController.cs.meta
0 → 100644
View file @
215476b2
fileFormatVersion: 2
guid: 15fda2365f7374bbcbe2fb649e0be47b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
Assets/_Game/Scripts/Player/MovementController.cs
View file @
215476b2
...
...
@@ -3,114 +3,95 @@ using System.Collections.Generic;
using
UnityEngine
;
using
UnityEngine.Events
;
[
RequireComponent
(
typeof
(
Rigidbody2D
),
typeof
(
BoxCollider2D
))]
public
class
MovementController
:
MonoBehaviour
{
[
SerializeField
]
private
float
m_JumpForce
=
400f
;
// Amount of force added when the player jumps.
[
Range
(
0
,
.
3f
)]
[
SerializeField
]
private
float
m_MovementSmoothing
=
.
05f
;
// How much to smooth out the movement
[
SerializeField
]
private
bool
m_AirControl
=
false
;
// Whether or not a player can steer while jumping;
[
SerializeField
]
private
LayerMask
m_WhatIsGround
;
// A mask determining what is ground to the character
[
SerializeField
]
private
Transform
m_GroundCheck
;
// A position marking where to check if the player is grounded.
[
SerializeField
]
private
float
m_Speed
=
10f
;
[
SerializeField
]
private
float
m_JumpForce
=
400f
;
// Amount of force added when the player jumps.
[
Range
(
0
,
.
3f
)][
SerializeField
]
private
float
m_MovementSmoothing
=
.
05f
;
// How much to smooth out the movement
[
SerializeField
]
private
bool
m_AirControl
=
false
;
// Whether or not a player can steer while jumping;
[
SerializeField
]
private
LayerMask
m_WhatIsGround
;
// A mask determining what is ground to the character
[
SerializeField
]
private
Transform
m_GroundCheck
;
// A position marking where to check if the player is grounded.
[
SerializeField
]
private
int
m_MaxJumpCount
=
1
;
const
float
k_GroundedRadius
=
.
2f
;
// Radius of the overlap circle to determine if grounded
private
bool
m_Grounded
;
// Whether or not the player is grounded.
private
bool
m_Grounded
;
// Whether or not the player is grounded.
private
bool
m_Airborn
;
private
Rigidbody2D
m_Rigidbody2D
;
private
bool
m_FacingRight
=
true
;
// For determining which way the player is currently facing.
private
bool
m_FacingRight
=
true
;
// For determining which way the player is currently facing.
private
Vector3
m_Velocity
=
Vector3
.
zero
;
private
int
m_TempJumpCount
=
0
;
private
RaycastHit2D
[]
m_Hits
;
private
ContactFilter2D
m_filter2d
;
private
Vector2
m_groundNormal
;
[
Header
(
"Events"
)]
[
Header
(
"Events"
)]
[
Space
]
//Wird Aktiviert wenn Spieler Landet
public
UnityEvent
OnLandEvent
;
private
void
Awake
()
{
m_Rigidbody2D
=
GetComponent
<
Rigidbody2D
>();
public
float
GravityModifier
{
set
=>
m_Rigidbody2D
.
gravityScale
=
value
;
}
m_filter2d
.
SetLayerMask
(
m_WhatIsGround
);
private
void
Awake
()
{
m_Rigidbody2D
=
GetComponent
<
Rigidbody2D
>
();
if
(
OnLandEvent
==
null
)
OnLandEvent
=
new
UnityEvent
();
OnLandEvent
=
new
UnityEvent
();
}
private
void
Update
(){
}
private
void
Update
()
{
}
private
void
FixedUpdate
()
{
private
void
FixedUpdate
()
{
bool
wasGrounded
=
m_Grounded
;
m_Grounded
=
false
;
/
* /
/ The player is grounded if a circlecast to the groundcheck position hits anything designated as ground
// The player is grounded if a circlecast to the groundcheck position hits anything designated as ground
// This can be done using layers instead but Sample Assets will not overwrite your project settings.
Collider2D[] colliders = Physics2D.OverlapCircleAll(m_GroundCheck.position, k_GroundedRadius, m_WhatIsGround);
for (int i = 0; i < colliders.Length; i++)
{
if (colliders[i].gameObject != gameObject)
{
Collider2D
[]
colliders
=
Physics2D
.
OverlapCircleAll
(
m_GroundCheck
.
position
,
k_GroundedRadius
,
m_WhatIsGround
);
for
(
int
i
=
0
;
i
<
colliders
.
Length
;
i
++)
{
if
(
colliders
[
i
].
gameObject
!=
gameObject
)
{
m_Grounded
=
true
;
if (!wasGrounded)
OnLandEvent.Invoke();
m_TempJumpCount
=
m_MaxJumpCount
;
if
(!
wasGrounded
)
OnLandEvent
.
Invoke
();
}
} */
m_Hits
=
new
RaycastHit2D
[
16
];
Physics2D
.
Raycast
(
m_GroundCheck
.
position
,
Vector2
.
down
,
m_filter2d
,
m_Hits
);
for
(
int
i
=
0
;
i
<
m_Hits
.
Length
;
i
++){
if
(
m_Hits
[
i
].
transform
==
null
||
m_Hits
[
i
].
transform
.
gameObject
==
gameObject
)
continue
;
m_Grounded
=
true
;
m_groundNormal
=
m_Hits
[
i
].
normal
;
}
//Debug.Log(m_Grounded);
float
x
=
Input
.
GetAxis
(
"Horizontal"
);
Move
(
x
*
10f
*
Time
.
deltaTime
,
false
,
false
);
}
public
void
Move
(
float
move
,
bool
crouch
,
bool
jump
)
{
public
void
Move
(
Vector2
move
,
bool
jump
)
{
//only control the player if grounded or airControl is turned on
if
(
m_Grounded
||
m_AirControl
)
{
if
(
m_Grounded
||
m_AirControl
)
{
Vector2
dir
=
new
Vector2
(
m_groundNormal
.
y
,
-
m_groundNormal
.
x
);
// Move the character by finding the target velocity
//Vector2 targetVelocity = new Vector2(move
* 10f, m_Rigidbody2D.velocity.y);
Vector2
targetVelocity
=
dir
.
normalized
*
move
*
10f
;