IR EVITANDO ENEMIGOS Y DESTRULLENDOLOS Y POR SCRIPT DE TIME QUE APAREZCA UNA PUERTA POR DONDE SE ACABA EL JUEGO, TAMBIEN POR COLISION UN NUEVA ESCENA Y YO CAIGO MUERTO POR TIEMPO NUEBA ESCENA CARGAR PRINCIPIO DE JUEGO,
ES IR PULIENDO Y PULIENDO Y AJUSTANDO.......................................................OJO LAS LUCES QUITAR LA MALLORIA.....
EL JUEGO TERMINA CUANDO BAJA EL COHETE SUBE A EL I REGRESA A MARTE
OJO ENEMIGOS DISPARAN Y SE ABATEN ELLOS MISMOS QUIZA LO PUEDA CORREGIR CON LOS DISPAROS AUTOMATICOS ALEATORIOS Y CON UN C # DE PERSONALIZAR LA DESTRUCCION DE LA BALA DE LOS ENEMIGOS QUE ME PERSIGEN, LOS PASILLOS TIENEN TRABAJO TIENE QUE ESTAR TODO MUY BIEN ENCAJADO Y EL MES DEL TERRENO DE VIAS DE PERSECUCION A 2.5 PARECE IR BIEN
SCRIPT C# PUERTAS ABRIENDOSE, UNA FORMA........EJEMPLO..
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class puertacorrederarreves : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
//public int Rotador;
void Update () { }
void OnTriggerEnter(Collider other) {
//void OnTriggerEnter(Collider other) {
//if (other.gameObject.CompareTag ("avismo")){
//if (other.gameObject.CompareTag ("ogri2")){
if (other.gameObject.CompareTag ("molonrobott")){
//}
//var rot = transform.rotation;
//rot.z += Time.deltaTime * 20;
// transform.rotation = rot;
transform.position += transform.right * -61.02f * Time.deltaTime; }
}
}
//}
OTRO EJEMPLO EN C#-----ABRIR UNA PUERTA...
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class muebepuerta : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
//public int Rotador;
void Update () { }
void OnTriggerEnter(Collider other) {
//void OnTriggerEnter(Collider other) {
//if (other.gameObject.CompareTag ("avismo")){
//if (other.gameObject.CompareTag ("ogri2")){
if (other.gameObject.CompareTag ("molonrobott")){
//}
var rot = transform.rotation;
rot.z += Time.deltaTime * 35;
transform.rotation = rot;
//transform.Rotate(new Vector3 (1.1f, 10.0f, 1.10f) * TimedeltaTime);
//transform.Rotate (new Vector3 (9999220 * Time.deltaTime, 0, 0), Space.Self);///////este de momento
//transform.rotation = Quaternion.
//Lerp
//(transform.rotation, Quaternion.Euler (10, Rotador, 0), Time.deltaTime * 11);
//transform.position += transform.right *91.02f * Time.deltaTime; }
//transform.position += transform.up *-4.02f * Time.deltaTime; }
//transform.Rotate (new Vector3 (3333 * Time.deltaTime, 10, 0), Space.Self);
}
}
}
ActivateTriger c#.......esta parte la ire explicando mas adelante...aqui hay que manipular la animacion que se activa con este escript....avajo unas imagenes y el script.....
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();
}
}
}
En este video , estoy estudiando y
trabajando la IA de mi juego
https://gamejolt.com/games/flas_galaxian/505385
Estoy haciendo pruebas con las
aperturas de las puertas y
la persecución de los enemigos, me
encuentro con problemas de que el enemigo al chocar con la puerta en
lugar de abrirla se destruye a así mismo, voy jugando con los
triggers y con los scripts de c# en tema colisiones y el tag de cada
elemento, no tengo ninguna prisa repito secuencias del juego cientos
de veces y haciendo pruebas constantemente para acercarme a lo que
quiero conseguir.
Aquí con las puertas en estos scrpts
intento personalizar la apertura según choque con ellas un personaje
u otro del videojuego.
https://gamejolt.com/games/flas_galaxian/505385
c# abrir puertas por tag.
c# abrir puertas por tag.
c# abrir puertas por tag.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class abresolomalopuertamas : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
//public int Rotador;
void Update () { }
void OnTriggerEnter(Collider other) {
//void OnTriggerEnter(Collider other) {
//if (other.gameObject.CompareTag ("avismo")){
//if (other.gameObject.CompareTag ("ogri2")){
//if (other.gameObject.CompareTag ("molonrobott")){
if (other.gameObject.CompareTag ("malopuerta")){
//}
//var rot = transform.rotation;
//rot.z += Time.deltaTime * 20;
// transform.rotation = rot;
transform.position += transform.right * 361.02f * Time.deltaTime; }
}
}
//}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class puertacorrederarreves : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
//public int Rotador;
void Update () { }
void OnTriggerEnter(Collider other) {
//void OnTriggerEnter(Collider other) {
//if (other.gameObject.CompareTag ("avismo")){
//if (other.gameObject.CompareTag ("ogri2")){
if (other.gameObject.CompareTag ("molonrobott")){
//if (other.gameObject.CompareTag ("malopuerta")){
//}
//var rot = transform.rotation;
//rot.z += Time.deltaTime * 20;
// transform.rotation = rot;
transform.position += transform.right * -161.02f * Time.deltaTime; }
}
}
//}
No hay comentarios:
Publicar un comentario