A Pen by Roman Diaz

Developer
Size
2,874 Kb
Views
50,600

How do I make an a pen by roman diaz?

Using simurai's jsfiddle here http://jsfiddle.net/simurai/CGmCe/ for a quick test. one of those things that must be done before it's forgotten about.. What is a a pen by roman diaz? How do you make a a pen by roman diaz? This script and codes were developed by Roman Diaz on 23 July 2022, Saturday.

A Pen by Roman Diaz Previews

A Pen by Roman Diaz - Script Codes HTML Codes

<!DOCTYPE html>
<html >
<head> <meta charset="UTF-8"> <title>A Pen by Roman Diaz</title>
</head>
<body> <div id="video"></div>
<button onclick="player.pause()">pause</button>
<button onclick="player.play()">play</button> <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script> <script src="js/index.js"></script>
</body>
</html>

A Pen by Roman Diaz - Script Codes JS Codes

/*
the eventual intention is to be able to supply a list of sprites, and how many rows and cols and have the damn thing loop through all of them
*/
var player = { utils : { set_vars : function(params){ player.vars.parent = params && params.parent ? document.getElementById(params.parent) : player.vars.parent; player.vars.preloader = document.createElement("div"); player.vars.video_elem = document.createElement("div"); player.vars.loop = params && params.loop != undefined ? params.loop : player.vars.loop; player.vars.sprites = params && params.sprites ? params.sprites : player.vars.sprites; player.vars.current_sprite = 0; player.vars.frame_rate = params && params.frame_rate ? params.frame_rate : 12; player.vars.width = params && params.width ? params.width : player.vars.width; player.vars.height = params && params.height ? params.height : player.vars.height; }, load_sprite : function(event){ var index = player.vars.sprites.indexOf(event.target.src); player.vars.sprites[index] = {}; player.vars.sprites[index].src = event.target.src; player.vars.sprites[index].height = event.target.offsetHeight; player.vars.sprites[index].width = event.target.offsetWidth; player.vars.sprites[index].cols = Math.round(player.vars.sprites[index].width/player.vars.width); player.vars.sprites[index].rows = Math.round(player.vars.sprites[index].height/player.vars.height); player.vars.sprites[index].frames = (player.vars.sprites[index].cols*player.vars.sprites[index].rows); player.vars.loaded++; player.vars.total_frames += player.vars.sprites[index].frames; player.vars.loaded = player.vars.loaded==player.vars.sprites.length ? true : player.vars.loaded ;	}, get_col : function(){ return (player.vars.frames_per_sprite%player.vars.sprites[player.vars.current_sprite].cols)*player.vars.width; }, get_row : function(){ var row = Math.floor(player.vars.frames_per_sprite/player.vars.sprites[player.vars.current_sprite].cols)*player.vars.height; return row; } }, vars : { parent : document.body, sprites : ['http://files.simurai.com/misc/sprite.png'], preloader : "", loaded : 0, current_sprite : 0, loop : true, video_elem : "", current_time : 0, current_frame : 0, frames_per_sprite : 0, total_frames : 0, play_timer : false, frame_rate : 0, /* fps */ width : 50, height : 72 }, setup_player : function(){ player.vars.video_elem.id = "OMWvideo"+Date.now(); player.vars.video_elem.style.backgroundImage = "url("+ player.vars.sprites[0]+")"; player.vars.video_elem.style.width = player.vars.width+"px"; player.vars.video_elem.style.height = player.vars.height+"px";	player.vars.video_elem.style.backgroundPosition = "0px 0px"; player.vars.video_elem.style.transform = "translateZ(0)"; player.vars.parent.appendChild(player.vars.video_elem); }, preload_sprites : function(){	player.vars.preloader.style.width = 0;	player.vars.preloader.style.height = 0;	player.vars.preloader.style.overflow = "hidden";	for(var i=0; i < player.vars.sprites.length; i++){	var img = document.createElement("img");	img.addEventListener("load",player.utils.load_sprite);	img.setAttribute("src",player.vars.sprites[i]);	player.vars.preloader.appendChild(img);	}	document.body.appendChild(player.vars.preloader); }, process_sprites : function(){	player.preload_sprites(); }, player : function(){ if(player.vars.loaded===true){	player.vars.current_time+=(1000/player.vars.frame_rate);	player.vars.current_frame++;	player.vars.video_elem.style.backgroundPosition = "-"+player.utils.get_col()+"px -"+player.utils.get_row()+"px";	player.vars.frames_per_sprite++;	if (player.vars.frames_per_sprite == player.vars.sprites[player.vars.current_sprite].frames){	player.vars.frames_per_sprite = 0;	player.vars.current_sprite = player.vars.current_sprite == player.vars.sprites.length-1 ? 0 : player.vars.current_sprite+1;	player.vars.video_elem.style.backgroundPosition = "0px 0px";	}	player.vars.video_elem.style.backgroundImage = "url("+ player.vars.sprites[player.vars.current_sprite].src+")"; if(player.vars.current_frame == player.vars.total_frames && !player.vars.loop) player.vars.play_timer = clearInterval(player.vars.play_timer);	} }, is_playing : function(){ return player.vars.play_timer !== false; }, play : function(){ if(player.is_playing()===false) player.vars.play_timer = setInterval(player.player,1000/player.vars.frame_rate); }, pause : function(){ clearInterval(player.vars.play_timer); player.vars.play_timer = false; }, init : function(params){ player.utils.set_vars(params); player.setup_player(); player.process_sprites(); player.play(); }
};
window.onload = function(){ // player.init({parent : "video", frame_rate:12,width : 646, height : 278, sprites : ['http://video-cdn.mobiletheory.com/7/img-1.jpg','http://video-cdn.mobiletheory.com/7/img-2.jpg','http://video-cdn.mobiletheory.com/7/img-3.jpg','http://video-cdn.mobiletheory.com/7/img-4.jpg','http://video-cdn.mobiletheory.com/7/img-5.jpg','http://video-cdn.mobiletheory.com/7/img-6.jpg','http://video-cdn.mobiletheory.com/7/img-7.jpg']});
}
A Pen by Roman Diaz - Script Codes
A Pen by Roman Diaz - Script Codes
Home Page Home
Developer Roman Diaz
Username romandiaz
Uploaded July 23, 2022
Rating 3
Size 2,874 Kb
Views 50,600
Do you need developer help for A Pen by Roman Diaz?

Find the perfect freelance services for your business! Fiverr's mission is to change how the world works together. Fiverr connects businesses with freelancers offering digital services in 500+ categories. Find Developer!

Roman Diaz (romandiaz) Script Codes
Create amazing blog posts with AI!

Jasper is the AI Content Generator that helps you and your team break through creative blocks to create amazing, original content 10X faster. Discover all the ways the Jasper AI Content Platform can help streamline your creative workflows. Start For Free!