关于Unity的碰撞计数问题

unity碰撞后无法计数

using System.Collections;
using System.Collections;
using UnityEngine.UI;
using System.Collections.Generic;
using UnityEngine;
public class playerControl : MonoBehaviour
{
    private Rigidbody rb;
    private int count;
    public float speed;
    public Text countText;
    public Text winText;
    void Start()
    {
        count = 0;
        rb = GetComponent<Rigidbody>();

        SetCountText();
        winText.text = "";
    }
    void FixedUpdate()
    {
        float moveHorizontal = Input.GetAxis("Horizontal");
        float moveVetical = Input.GetAxis("Vertical");
        Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVetical);
        rb.AddForce(movement * speed );
    }
    void OnCollisionEnter(Collision other)
    {
        if (other.gameObject.name == "pickup") //这里用tag也行
        {
            count = count + 1;
            countText.text = "Count:" + count.ToString();
            Destroy(other.gameObject);

        }
    }
    void SetCountText()
    {
        countText.text = "Count:" + count.ToString();
        if (count >= 12)
        {
            winText.text = "You win!";
        }
    }
}

player 控制代码如上
每次碰撞时,destroy会被触发,但是countText内的count = count + 1不会
计数器始终显示0.

因为每个enemy都会有一个score,不会累加