567 lines
11 KiB
Rust
567 lines
11 KiB
Rust
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);
|
|
}
|
|
} |