- Home /
I can't fix this error!
I'm getting an error: paddleScript.cs(42,31): error CS0200: Property or indexer `UnityEngine.GameObject.rigidbody' cannot be assigned to (it is read only)
Here is my script:
using UnityEngine;
using System.Collections;
public class paddleScript : MonoBehaviour {
float paddleSpeed = 10f;
public GameObject ballPrefab;
private Vector3 ballPosition;
private Quaternion ballRotation;
GameObject attachedBall = null;
// Use this for initialization
void Start () {
SpawnBall();
}
void SpawnBall() {
Vector3 ballPosition;
attachedBall = ballPrefab;
//Spawns the ball, duh!
ballPosition = transform.position + new Vector3(0, 1f, 0);
Quaternion ballRotation = Quaternion.identity;
attachedBall = (GameObject)Instantiate( ballPrefab, ballPosition, ballRotation );
}
// Update is called once per frame
void Update () {
transform.Translate ( paddleSpeed * Time.deltaTime * Input.GetAxis ( "Horizontal" ), 0, 0 );
if( attachedBall ) {
attachedBall.rigidbody = transform.position + new Vector3(0, .75f, 0);
}
if( Input.GetButtonDown( "Jump" ) ){
//Fire the ball!
if( attachedBall ) {
attachedBall.rigidbody.isKinematic = false;
attachedBall.rigidbody.AddForce(0, 300f, 0);
attachedBall = null;
}
}
}
void OnCollisionEnter( Collision col ) {
foreach (ContactPoint contact in col.contacts) {
if( contact.thisCollider == collider ) {
float english = contact.point.x - transform.position.x;
contact.otherCollider.rigidbody.AddForce( 300f * english, 0, 0);
}
}
}
}
Comment
Answer by flaviusxvii · Feb 17, 2013 at 02:12 AM
You are trying to put a Vector3 into a rigidBody. Stop that. If you want to change the position, put that value into transform position.
Your answer

Follow this Question
Related Questions
Problem with gun/shooting scripting 2 Answers
Unexpected token: targetPos 1 Answer
Error CS0103? 2 Answers
Could not preload global game manager #0 3 Answers