Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Doom éternel

Abierto
#100 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
10/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
csharp, unity
Área
game-dev

Línea de trabajo

The issue contains Unity and C# snippets for player movement, enemies, weapons, levels, and effects, but names no repository files, tests, or specific change. First clarify the intended scope and acceptance criteria before identifying an entry point; completion cannot be determined from the current issue.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

using UnityEngine;

public class Weapon : MonoBehaviour
{
public GameObject bulletPrefab;
public Transform firePoint;

void Update()
{
    if (Input.GetButtonDown("Fire1"))
    {
        Shoot();
    }
}

void Shoot()
{
    Instantiate(bulletPrefab, firePoint.position, firePoint.rotation);
}

}

using UnityEngine;

public class EnemyController : MonoBehaviour
{
public float moveSpeed = 3f;
public Transform player;

void Update()
{
    MoveTowardsPlayer();
}

void MoveTowardsPlayer()
{
    Vector3 direction = (player.position - transform.position).normalized;
    transform.position += direction * moveSpeed * Time.deltaTime;
}

}

using UnityEngine;

public class PlayerController : MonoBehaviour
{
public float moveSpeed = 5f;
public float jumpForce = 5f;
private Rigidbody rb;

void Start()
{
    rb = GetComponent<Rigidbody>();
}

void Update()
{
    Move();
    Jump();
}

void Move()
{
    float moveHorizontal = Input.GetAxis("Horizontal");
    float moveVertical = Input.GetAxis("Vertical");
    Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
    rb.AddForce(movement * moveSpeed);
}

void Jump()
{
    if (Input.GetButtonDown("Jump"))
    {
        rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse);
    }
}

}

void Start()
{
rb = GetComponent();
}

void Update()
{
Move();
Jump();
}

void Move()
{
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
rb.AddForce(movement * moveSpeed);
}

void Jump()
{
if (Input.GetButtonDown("Jump"))
{
rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse);
}
}

// Exemple en C# pour Unity
public class PlayerController : MonoBehaviour
{
public float moveSpeed = 5f;
public float jumpForce = 5f;
private Rigidbody rb;

void Start()
{
    rb = GetComponent<Rigidbody>();
}

void Update()
{
    Move();
    Jump();
}

void Move()
{
    float moveHorizontal = Input.GetAxis("Horizontal");
    float moveVertical = Input.GetAxis("Vertical");
    Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
    rb.AddForce(movement * moveSpeed);
}

void Jump()
{
    if (Input.GetButtonDown("Jump"))
    {
        rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse);
    }
}

}
3. Créer des ennemis
csharp
Run
Copy code
public class EnemyController : MonoBehaviour
{
public float moveSpeed = 3f;
public Transform player;

void Update()
{
    MoveTowardsPlayer();
}

void MoveTowardsPlayer()
{
    Vector3 direction = (player.position - transform.position).normalized;
    transform.position += direction * moveSpeed * Time.deltaTime;
}

}
4. Ajouter des armes
csharp
Run
Copy code
public class Weapon : MonoBehaviour
{
public GameObject bulletPrefab;
public Transform firePoint;

void Update()
{
    if (Input.GetButtonDown("Fire1"))
    {
        Shoot();
    }
}

void Shoot()
{
    Instantiate(bulletPrefab, firePoint.position, firePoint.rotation);
}

}
5. Créer des niveaux
Utilise des outils de création de niveaux dans Unity ou Unreal pour concevoir des environnements.
Ajoute des éléments interactifs, des ennemis et des objets à collecter.
6. Ajouter des effets visuels et sonores
Intègre des effets de particules pour les explosions et les impacts.
Ajoute des sons pour les armes, les ennemis et l'environnement.
7. Tester et itérer
Teste régulièrement ton jeu pour corriger les bugs et améliorer le gameplay.
Conclusion
Ce n'est qu'un aperçu très basique de la création d'un jeu de tir à la première personne. Pour un projet complet, il te faudra approfondir chaque aspect, apprendre à utiliser des outils de modélisation 3D, de l'animation, de la conception sonore, et bien plus encore. Il existe de nombreux tutoriels en ligne pour t'aider à chaque étape du processus. Bonne chance dans ton projet de jeu !

Copy message

Scroll to bottom

Voilà

Lenguaje dominante
Python
Estrellas
18.3k
Forks
3k
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de trekhleb/learn-python

Todos los issues de trekhleb/learn-python

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.