haxe/HaxeNotas/haxe.rs

567 lines
11 KiB
Rust
Raw Permalink Normal View History

2025-11-24 04:35:04 +08:00
Haxe Dirrectorio
-cp src
-D analyzer-optimize
-main Main
--js dist/js/main.js
--js dist/main.js
<- Comandos
haxe --version | vercion de haxe
haxe build.hxml | contruir el projecto
Ctl + P & > | >Haxe: Initialize Project
// ! No recuerdo
haxelib |
haxelib --global update haxelib | actualizar haxelib
<- Targets Build
<-- JavaScript
-cp src
-D analyzer-optimize
-main Main
--js dist/js/main.js
<- Codigo
<-- Impotar Librerias
<--- Navegador
// * Navegador
import js.Browser;
<-- Variables
var variable = "Soy Una Variable"
var bool = true;
var string = "String";
var int = 1;
var float = 1.0;
// ? Asignar typo de variable
var variable_typo_bool: Bool = true;
var variable_typo_string: String = "String";
var variable_typo_int: Int = 1;
var variable_typo_float: Float = 1.0;
// ? Variable Vacio
var vacio: Void = null;
<-- Funciones
<--- Imprmir en pantalla
trace("Imprimir")
-----------------------------------
// ! Codigos
var button = Browser.document.createButtonElement();
button.textContent = "Click me!";
button.onclick = (event) -> Browser.alert("Haxe is great");
Browser.document.body.appendChild(button);
// ! Codigo 2
brave://settings/cookies
import js.Set;
import js.Browser;
import js.Cookie;
class Main {
static function main() {
// * Crear Cokies
Cookie.set("Names", "Fernando");
var names = Cookie.get("Names");
trace(names);
var names2 = Cookie.exists("Names");
trace(names2);
}
}
// ! Codigo 3
import js.Set;
import js.Browser;
import js.Cookie;
function crear_cookie(nombre: String, valor: String):Void {
Cookie.set(nombre, valor);
}
class Main {
static function main() {
// * Crear Cokies
// Cookie.set("Facultad", "Bardero", 300);
var names = Cookie.get("Names");
var facultad1 = Cookie.get("Facultad");
trace(names);
trace(facultad1);
var names2 = Cookie.exists("Names");
var facultad2 = Cookie.exists("Facultad");
trace(names2);
trace(facultad2);
Cookie.remove("Names");
Cookie.remove("Facultad");
}
}
// ! cCodigo 4 Cookie
import js.Set;
import js.Browser;
import js.Cookie;
function crear_cookie(nombre: String, valor: String):Void {
// * 10 minutos en segundos
var expira_minutos: Int = 600;
Cookie.set(nombre, valor, expira_minutos);
}
function borrar_cookie(nombre: String) {
Cookie.remove(nombre);
}
function obtener_cookie(nombre: String):String {
return Cookie.get(nombre);
}
function obtener_todas_cookies():Void {
Cookie.all();
}
class Main {
static function main() {
// * Creando Cookie
var email = "Email";
var email_valor = "Email@maills";
crear_cookie(email, email_valor);
var valor = obtener_cookie(email);
trace(valor);
}
}
// ! Codigo + 5
// ? Json
import haxe.xml.Parser;
import js.Browser;
import js.lib.Object;
import haxe.Json;
function crear_objeto(nombre: String, edad: Int) {
// ? {nombre: Variable, nombre: Variable}
var objeto = {name:nombre, edad:edad};
return objeto;
}
function parse_json(text: String) {
// * Parse es para que haxe entienda el texto.
// * Parce es mas para los [Json]
Json.parse(text);
}
function stringify_json(text):Dynamic {
// * var remplazo
// * Convierte una cadena texto en json
// * "\t" = Al salto de linea
var a_json:Dynamic = Json.stringify(text,"\t");
return a_json;
}
class Main {
static function main() {
trace(crear_objeto("juan",21));
var objeto = crear_objeto("Dicho",33);
trace(objeto);
trace(stringify_json(objeto));
trace(objeto.edad);
}
}
// ! Codigo +
// ? Json
import haxe.Json;
function crear_objeto(nombre: String, edad: Int) {
// ? {nombre: Variable, nombre: Variable}
var objeto = {name:nombre, edad:edad};
return objeto;
}
function parse_json(text: String) {
// * Parse es para que haxe entienda el texto.
// * Parce es mas para los [Json]
Json.parse(text);
}
function stringify_json(text):Dynamic {
// * var remplazo
// * Convierte una cadena texto en json
// * "\t" = Al salto de linea
var a_json:Dynamic = Json.stringify(text,"\t");
return a_json;
}
class Main {
static function main() {
trace(crear_objeto("juan",21));
var objeto = crear_objeto("Dicho",33);
trace(objeto);
trace(stringify_json(objeto));
trace(objeto.edad);
}
}
// ! Codigo ! Crear bottones
import js.lib.Function;
import js.html.ButtonElement;
import js.Browser;
import js.Lib;
import js.html.Document;
import js.html.DOMElement;
import js.html.Element;
import js.html.EventListener;
import js.html.AddEventListenerOptions;
import js.html.EventTarget;
import haxe.Constraints;
// ? Exponer las libreria js a html con
// ! @:expose
@:expose
function evento(arg) {
trace("Alertar");
trace( "keypress" + arg );
}
function evento_click(arg) {
trace("Alertar");
trace( "click " + arg.x, arg.y );
}
// ? Obtener el elemento ID
function obtener_elemento_por_id(id:String) {
var button = Browser.document.getElementById(id);
trace('$id $button');
}
// ? Escuchar el objeto & Keypress
function agregar_elemento_escuchador_keypress(id:String) {
// * 1 Tomar el id #
var button = Browser.document.getElementById(id);
// * 2 Escuchar "Keypress" | Agregar el evento
button.addEventListener("keypress", evento);
// * click
// * 3 Imprimir
trace('$id $button Escuchador');
// * 4 Compilar
}
function agregar_elemento_escuchador_click(id:String) {
// * 1 Tomar el id #
var button = Browser.document.getElementById(id);
// * 2 Escuchar "Keypress" | Agregar el evento
button.addEventListener("click", evento_click);
}
// ? Creando botons
class Main {
static function main() {
// ? Crea el boton
var button = Browser.document.createButtonElement();
// ? Pone texto en el botton
button.textContent = "Click me!";
// ? Activar el oneclick
button.onclick = (event) -> trace("Alertar");
// ? Para poner el bottonen eldocumento
Browser.document.body.appendChild(button);
// ? Funcion obtener por id
obtener_elemento_por_id("objeto_demo");
// ? Escuchar el objeto
agregar_elemento_escuchador_keypress("objeto_demo");
agregar_elemento_escuchador_click("objeto_click");
}
}
// ? Html
<style type="text/css">
div {
width: 100px;
height: 100px;
background-color: red;
}
</style>
<button onclick="Main.evento()">Soy un botton 1</button>
<button ondblclick="Main.evento()">Soy un botton 2</button>
<div onclick="Main.evento()"></div>
<input type="text" onfocus="Main.evento()">
<input type="text" onblur="Main.evento()">
<button id="objeto_click">Clickeame clic</button>
<input type="text" id="objeto_demo">
<script src="js/main.js"></script>
// ! Nosoy un botcodigo
import js.Browser;
import js.lib.Function;
import js.html.ButtonElement;
import js.Browser;
import js.Lib;
import js.html.Document;
import js.html.DOMElement;
import js.html.Element;
import js.html.EventListener;
import js.html.AddEventListenerOptions;
import js.html.EventTarget;
import haxe.Constraints;
import js.html.Document;
function funciona( arg ) {
trace("Funciona");
trace(arg);
if (arg.isTrusted == true) {
trace("No bot");
}
}
// @:expose
function obtener_elemento_por_tag_nombre(id:String) {
// * 1 Tomar el array nombres #
var documento = Browser.document.getElementsByTagName(id);
documento[0].addEventListener("click", funciona);
// * 2 Escuchar "Keypress" | Agregar el evento
trace(documento + " Nada");
trace("test");
// documento. = (event) -> trace("Alertar");
}
// ? Creando botons
class Main {
static function main() {
obtener_elemento_por_tag_nombre("body");
}
}
// ! Codigo Frames Lv1
import js.html.Image;
import js.Browser;
import js.html.CanvasElement;
import js.html.Window;
import js.html.CanvasRenderingContext2D;
var canvas = cast Browser.document.getElementById("myCanvas");
var context = canvas.getContext("2d");
var canvas_width = canvas.width = 600;
var canvas_height = canvas.height = 600;
var player_image = new Image();
var spritewidth = 575;
var spriteheight = 523;
var frame_x:Int = 0;
var frame_y:Int = 0;
var game_frame = 0;
var staggerFrames = 5;
class Main {
static function main() {
animate();
}
}
@:expose
function animate() {
player_image.src = "img/shadow_dog.png";
context.clearRect(0, 0, canvas_width, canvas_height);
// context.fillRect(x,50,100,100);
// ? s? = Sorce + ?. (Cortar de la imagen)
// ? d? = destino + ?. (El destino de la imagen)
// context.drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh);
// ? 0, 1, 2, etc * spritewidth = frames
// ? 0, 1, 2, et * spriteheight = frames
context.drawImage(player_image, frame_x * spritewidth, frame_y * spriteheight, spritewidth, spriteheight, 0, 0, spritewidth, spriteheight);
if (game_frame % staggerFrames == 0) {
if (frame_x < 6) frame_x += 1;
else frame_x = 0;
}
game_frame += 1;
Browser.window.requestAnimationFrame(cast animate);
}
// function obtener_elemento_por_id(id:String) {
// var id = Browser.document.getElementById(id);
// return id;
// }
// ! Codigo animacion lv2
import js.lib.Math;
import js.html.Image;
import js.Browser;
import js.html.CanvasElement;
import js.html.Window;
import js.html.CanvasRenderingContext2D;
var canvas = cast Browser.document.getElementById("myCanvas");
var context = canvas.getContext("2d");
var canvas_width = canvas.width = 600;
var canvas_height = canvas.height = 600;
var player_image = new Image();
var sprite_width = 575;
var sprite_height = 523;
var frame_x = 0;
var frame_y = 0;
var game_frame = 0;
// ? Animacion frames
var stagger_frames = 5;
function animate() {
player_image.src = "img/shadow_dog.png";
context.clearRect(0, 0, canvas_width, canvas_height);
// ? Ultimo row. Las collumnas de la animacion
var position = Math.floor(game_frame / stagger_frames) % 6;
frame_x = sprite_width * position;
context.drawImage(player_image, frame_x, frame_y * sprite_height, sprite_width, sprite_height, 0, 0, sprite_width, sprite_height);
game_frame += 1;
Browser.window.requestAnimationFrame(cast animate);
}
class Main {
static function main() {
animate();
}
}
// ! Mkdir codum.
import haxe.Log;
import sys.FileSystem;
import Sys;
function trace_null(x) {
Log.trace(x, null);
}
function mkdir(path:String) {
FileSystem.createDirectory(path);
}
function mkdirs(path:String, objetos:Array<Dynamic>) {
// var z:Int = 0;
for (dir in objetos) {
// trace(dir);
var resultado:String = Std.string('$path/$dir');
trace(resultado);
// z += 1;
// trace(z);
// mkdir(resultado);
}
}
class Main {
static function main() {
var userInputInt:String;
while (true) {
trace_null('0 = Close');
trace_null('1 = Mkdir');
// trace('0 = Mkdir');
userInputInt = Sys.stdin().readLine();
trace_null('Input: $userInputInt');
if (Std.parseInt(userInputInt) == 0) {
break;
}
if (Std.parseInt(userInputInt) == 1) {
var archivo = ["Achivo", "articulos"];
mkdir(archivo[1]);
mkdir("Hello/2");
mkdirs("Path", archivo);
}
}
}
}
// ! Old Mkdir
function mkdirs(path:String, objetos:Array<Dynamic>) {
for (dir in objetos) {
var resultado:String = Std.string('$path/$dir');
mkdir(resultado);
}
}