......Dan@tixer......

she/her ಌ
programmer
still studying
:D Unity
:D C#
..links.. AquaGem . Tobby . EtherDuel . Rush
:.............current status: online now.............+

.
..about me.. currently studing software development to focus on games
.

.
..goals.. to continue working on my indie game

©:pfp by @Kanae1080-
:...........finally introducing: my tries...........

.tixer

[email protected]

www.linkedin.com/in/daniela-fuentes-tixer

using Unity.VisualScripting;
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class Movement : MonoBehaviour
{
public float horizontalSpeed = 3;
private Vector2 screenBounds;
private float playerHalfWidth;
private SpriteRenderer spriteRenderer;
public counter cm;
private void Start()
{
screenBounds = Camera.main.ScreenToWorldPoint(new Vector2(Screen.width, Screen.height));
playerHalfWidth = GetComponent<SpriteRenderer>().bounds.extents.x;
}
void Awake()
{
spriteRenderer = GetComponent<SpriteRenderer>();
}
private void FixedUpdate()
{
float clampedX = Mathf.Clamp(transform.position.x, -screenBounds.x + playerHalfWidth, screenBounds.x - playerHalfWidth);
Vector2 pos = transform.position;
pos.x = clampedX;
transform.position = pos;
if (Input.GetKey(KeyCode.LeftArrow))
{
transform.Translate(Vector2.left * Time.deltaTime * horizontalSpeed);
spriteRenderer.flipX = false;
}
if (Input.GetKey(KeyCode.RightArrow))
{
transform.Translate(Vector2.left * Time.deltaTime * horizontalSpeed * -1);
spriteRenderer.flipX = true;
}
}
private void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.CompareTag("Enemy"))
{
Destroy(other.gameObject);
cm.Scoreboard++;
}
}
}

using UnityEngine;
using System.Collections.Generic;
public class GeneradorCuerdasPro : MonoBehaviour
{
[Header("Configuración")]
public GameObject eslabonPrefab;
public int cantidadEslabones = 8;
[Header("Conexiones")]
public List<Rigidbody2D> puntosDeAnclaje;
public GameObject caramelo;
void Start()
{
foreach (Rigidbody2D anclaje in puntosDeAnclaje)
{ GenerarCuerdaHaciaObjetivo(anclaje);
}
}
void GenerarCuerdaHaciaObjetivo(Rigidbody2D anclaje)
{
Rigidbody2D previoRB = anclaje;
Vector3 posicionAnclaje = anclaje.transform.position;
Vector3 posicionCaramelo = caramelo.transform.position;
Vector3 direccionTotal = posicionCaramelo - posicionAnclaje;
float distanciaTotal = direccionTotal.magnitude;
Vector3 direccionNormalizada = direccionTotal.normalized;
float distanciaEntreEslabones = distanciaTotal / (cantidadEslabones + 1);for (int i = 0; i < cantidadEslabones; i++)
{
Vector3 posEslabon = posicionAnclaje + (direccionNormalizada * (i + 1) * distanciaEntreEslabones);
GameObject nuevoEslabon = Instantiate(eslabonPrefab, posEslabon, Quaternion.identity, transform);float angulo = Mathf.Atan2(direccionNormalizada.y, direccionNormalizada.x) * Mathf.Rad2Deg;
nuevoEslabon.transform.rotation = Quaternion.Euler(0, 0, angulo + 90f);
HingeJoint2D joint = nuevoEslabon.GetComponent<HingeJoint2D>();
joint.connectedBody = previoRB;
joint.autoConfigureConnectedAnchor = true;
previoRB = nuevoEslabon.GetComponent<Rigidbody2D>();
}
ConectarAlCaramelo(previoRB);
}
void ConectarAlCaramelo(Rigidbody2D ultimoEslabonRB)
{
HingeJoint2D jointHaciaCuerda = caramelo.AddComponent<HingeJoint2D>();
jointHaciaCuerda.connectedBody = ultimoEslabonRB;
jointHaciaCuerda.autoConfigureConnectedAnchor = true;
}
}

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System.Collections; // Necesario para las Corrutinas
public class EtherCard : MonoBehaviour, IPointerClickHandler
{
[Header("Datos de la Carta")]
public EtherDuelManager.Element cardElement;
public bool isPlayer1Card;
[Header("Referencias UI")]
public Image cardImage;
public Sprite fireSprite, waterSprite, earthSprite, airSprite;
private EtherDuelManager gameManager;
private bool isPlayed = false; // Evita que se le haga clic dos veces
void Start()
{
gameManager = Object.FindFirstObjectByType<EtherDuelManager>();
UpdateVisuals();
}
private void UpdateVisuals()
{
switch (cardElement)
{
case EtherDuelManager.Element.Fire: cardImage.sprite = fireSprite; break;
case EtherDuelManager.Element.Water: cardImage.sprite = waterSprite; break;
case EtherDuelManager.Element.Earth: cardImage.sprite = earthSprite; break;
case EtherDuelManager.Element.Air: cardImage.sprite = airSprite; break;
}
}
public void OnPointerClick(PointerEventData eventData)
{
if (isPlayed) return; // Si ya se jugó, ignorar
if (!isPlayer1Card && gameManager.playAgainstAI) return;gameManager.SelectCard(this);
}
public IEnumerator MoveToPosition(Transform targetTransform, float duration)
{
isPlayed = true; // Bloqueamos el clic
transform.SetParent(targetTransform.parent);Vector3 startPosition = transform.position;
float elapsedTime = 0f;
while (elapsedTime < duration)
{
transform.position = Vector3.Lerp(startPosition, targetTransform.position, elapsedTime / duration);
elapsedTime += Time.deltaTime;
yield return null; // Espera al siguiente frame
}
transform.position = targetTransform.position;
transform.SetParent(targetTransform);
}
}

using Unity.VisualScripting;
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class Movement : MonoBehaviour
{
public float playerSpeed = 2;
public float horizontalSpeed = 3;
private Vector2 screenBounds;
private float playerHalfWidth;
public counter cm;private void Start()
{
screenBounds = Camera.main.ScreenToWorldPoint(new Vector2(Screen.width, Screen.height));
playerHalfWidth = GetComponent<SpriteRenderer>().bounds.extents.x;
}
private void FixedUpdate()
{
transform.Translate(Vector2.up * Time.deltaTime * playerSpeed, Space.World);float clampedX = Mathf.Clamp(transform.position.x, -screenBounds.x + playerHalfWidth, screenBounds.x - playerHalfWidth);
Vector2 pos = transform.position;
pos.x = clampedX;
transform.position = pos;
if (Input.GetKey(KeyCode.A))
{
transform.Translate(Vector2.left * Time.deltaTime * horizontalSpeed);
}
if (Input.GetKey(KeyCode.D))
{
transform.Translate(Vector2.left * Time.deltaTime * horizontalSpeed * -1);
}
}private void OnTriggerEnter2D(Collider2D other)
{
if(other.gameObject.CompareTag("Collectable"))
{
Destroy(other.gameObject);
cm.scoreboard++;
playerSpeed++;
}
}
}

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class CameraControl : MonoBehaviour
{
public Transform target;
public Transform BG1;
public Transform BG2;
private float size;
private Vector3 BG1TargetPos = new Vector3();
private Vector3 BG2TargetPos = new Vector3();
void Start()
{
size = BG1.GetComponent<BoxCollider2D>().size.y;
size = BG2.GetComponent<BoxCollider2D>().size.y;
}
void FixedUpdate()
{
Vector3 targetPos = new Vector3(transform.position.x, target.position.y, transform.position.z);
transform.position = targetPos;
if (transform.position.y >= BG2.position.y)
{
BG1.position = SetPos(BG1TargetPos, BG1.position.x, BG2.position.y + size, BG1.position.z);
SwitchingBG();
}
if (transform.position.y <= BG1.position.y)
{
BG1.position = SetPos(BG2TargetPos, BG1.position.x, BG2.position.y - size, BG1.position.z);
SwitchingBG();
}
}private void SwitchingBG()
{
Transform temp = BG1;
BG1 = BG2;
BG2 = temp;
}
private Vector3 SetPos(Vector3 pos, float x, float y, float z)
{
pos.x = x;
pos.y = y;
pos.z = z;
return pos;
}
}