Juego de homenaje a este clásico, primera demo o nivel que iré trabajando.....en mi versión particular........
teclas w-a-s-d manejo.
https://gamejolt.com/games/HOMENAJE_AL_COMECOCOS/542669
Homenaje a Pac-Man,
me estoy inspirando en este videojuego para hacer una versión particular,
estoy haciendo una serie de zonas que vallan subiendo de dificultad,
una serie de puertas que se habren al comerte o destrozar al coco que tiene la llave,
pero algunos cocos al ser comidos o destruidos lo que tienen es la facultad de activar a otros cocos que son mas grandes están congelados,
y son descongelados por mi al comerme el coco no adecuado..........y bueno me van persiguiendo por todo el terreno,
si me alcanzan el juego se reinicia.
Estoy utilizando principalmente el script en c# ActivateTrigger.
Cuando mi personaje choca con los cocos proboca el cambio del gameobject, transformando al coco en una explosion de humo, o en una llave , o en un monstruo que me persige........
using System;
using UnityEngine;
using Object = UnityEngine.Object;
namespace UnityStandardAssets.Utility
{
public class ActivateTrigger : MonoBehaviour
{
// A multi-purpose script which causes an action to occur when
// a trigger collider is entered.
public enum Mode
{
Trigger = 0, // Just broadcast the action on to the target
Replace = 1, // replace target with source
Activate = 2, // Activate the target GameObject
Enable = 3, // Enable a component
Animate = 4, // Start animation on target
Deactivate = 5 // Decativate target GameObject
}
public Mode action = Mode.Activate; // The action to accomplish
public Object target; // The game object to affect. If none, the trigger work on this game object
public GameObject source;
public int triggerCount = 1;
public bool repeatTrigger = false;
private void DoActivateTrigger()
{
triggerCount--;
if (triggerCount == 0 || repeatTrigger)
{
Object currentTarget = target ?? gameObject;
Behaviour targetBehaviour = currentTarget as Behaviour;
GameObject targetGameObject = currentTarget as GameObject;
if (targetBehaviour != null)
{
targetGameObject = targetBehaviour.gameObject;
}
switch (action)
{
case Mode.Trigger:
if (targetGameObject != null)
{
targetGameObject.BroadcastMessage("DoActivateTrigger");
}
break;
case Mode.Replace:
if (source != null)
{
if (targetGameObject != null)
{
Instantiate(source, targetGameObject.transform.position,
targetGameObject.transform.rotation);
DestroyObject(targetGameObject);
}
}
break;
case Mode.Activate:
if (targetGameObject != null)
{
targetGameObject.SetActive(true);
}
break;
case Mode.Enable:
if (targetBehaviour != null)
{
targetBehaviour.enabled = true;
}
break;
case Mode.Animate:
if (targetGameObject != null)
{
targetGameObject.GetComponent<Animation>().Play();
}
break;
case Mode.Deactivate:
if (targetGameObject != null)
{
targetGameObject.SetActive(false);
}
break;
}
}
}
private void OnTriggerEnter(Collider other)
{
DoActivateTrigger();
}
}
}
Los sonidos, los estoy descargando desde internet de webs para este tipo de recursos, solo hay que buscarlos en cualquier buscador,
ThirdPersonController, desde el ThirdPersonController, puse el gameobject que manejo para el videojuego, viene por defecto con unity , conseguir una jugavilidad como el original me sera imposible, porque soy un aficionado y no un profesional, pero intentaremos que sea por lo menos entretenido y curioso de jugar, intentare crear un interés, hacia probarlo, haber asta donde me llevan estos niveles,,,,,,,
Lo estoy modelando y pintando con blender, las mínimas animaciones que tiene el player esta también echa con blender y para utilizarlo con unity tiene este script que al pulsar la tecla “W” ademas de hacer correr al player produce la sencilla animación de dar unas palmadas......
----------------------------------------------------------------------------------------------------------------------
controlcoco en c# siempre...........
-------------------------------------------------------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class controlcoco : MonoBehaviour {
public Animator Anim;
public float WalkSpeed;
// Update is called once per frame
void Update () {
if (Input.GetKey (KeyCode.W)) {
//if (Input.GetButtonDown ("Fire1")) {
//if (Input.GetKey (KeyCode.Space)) {
Anim.SetBool ("ANDA", true);
transform.Translate (Vector3.forward * WalkSpeed * Time.deltaTime);
} else {
Anim.SetBool ("ANDA", false);
}
}
}
Tengo un vídeo en youtube que explico como ago animaciones.......y como les pongo los scripts
Otro para animaciones dos ejemplos
Y asta aquí llego por hoy, conforme siga haciendo iré explicando, y esque no paro en todo el día, cuando no estoy trabajando estoy haciendo videojuegos, no paro no paro y no paro...........continuara............
Bueno sigo con el homenaje, añadiendo un sistema de puntuación para superar y alcanzar otros niveles de dificultad.....aquí el script que utilizo......
using UnityEngine;
// Include the namespace required to use Unity UI
using UnityEngine.UI;
using System.Collections;
public class bapuntos : MonoBehaviour {
// Create public variables for player speed, and for the Text UI game objects
public float speed;
public Text countText;
public Text winText;
// Create private references to the rigidbody component on the player, and the count of pick up objects picked up so far
private Rigidbody rb;
private int count;/// <summary>
/// //////////////////////////////////////////
/// </summary>
//private int PUNTOS;/// <summary>
/// /////////////////////////////////////////////////
/// </summary>
// At the start of the game..
void Start ()
{
// Assign the Rigidbody component to our private rb variable
rb = GetComponent<Rigidbody>();
// Set the count to zero
count = 0;
// Run the SetCountText function to update the UI (see below)
SetCountText ();
// Set the text property of our Win Text UI to an empty string, making the 'You Win' (game over message) blank
winText.text = "";
}
// Each physics step..
//void FixedUpdate ()
//{
// Set some local float variables equal to the value of our Horizontal and Vertical Inputs
//float moveHorizontal = Input.GetAxis ("Horizontal");
//float moveVertical = Input.GetAxis ("Vertical");
// Create a Vector3 variable, and assign X and Z to feature our horizontal and vertical float variables above
//Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);
// Add a physical force to our Player rigidbody using our 'movement' Vector3 above,
// multiplying it by 'speed' - our public player speed that appears in the inspector
// rb.AddForce (movement * speed);
//}
// When this game object intersects a collider with 'is trigger' checked,
// store a reference to that collider in a variable named 'other'..
void OnTriggerEnter(Collider other)
{
// ..and if the game object we intersect has the tag 'Pick Up' assigned to it..
if (other.gameObject.CompareTag ("popo"))
//if (other.gameObject.CompareTag ("popo (14)"))
//if (other.gameObject.CompareTag ("Pick Up 1"))
{
// Make the other game object (the pick up) inactive, to make it disappear
other.gameObject.SetActive (false);///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Add one to the score variable 'count'
count = count + 1;
// Run the 'SetCountText()' function (see below)
SetCountText ();
}
}
// Create a standalone function that can update the 'countText' UI and check if the required amount to win has been achieved
void SetCountText()
{
// Update the text field of our 'countText' variable
//countText.text = "Count: " + count.ToString ();
countText.text = "puntos: " + count.ToString ();
// Check if our 'count' is equal to or exceeded 12
if (count >= 25)
{
// Set the text value of our 'winText'
winText.text = "CAMPEON GANASTES";
Application.LoadLevel (1);
}
}
}
👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀
COMO SE HACE UN MARCADOR DE PUNTOS
👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆
Un pequeño detalle del script de sumar puntos, le e incluido la linea que dice “Application.LoadLevel (1);”
despues de la linea
winText.text = "CAMPEON GANASTES";
mi sorpresa al ver que me cambiaba el nivel donde el player da saltos de alegria
esto lo aprendi hoy, estoy empezando a programar en c#, para mi sorpresa porque soy muy torpe con el tema.........
https://gamejolt.com/games/homenaje_en_telefono_pac_man/544806
No hay comentarios:
Publicar un comentario