A Pen by Roman Diaz
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 - 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']});
}
Developer | Roman Diaz |
Username | romandiaz |
Uploaded | July 23, 2022 |
Rating | 3 |
Size | 2,874 Kb |
Views | 50,600 |
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!
Name | Size |
A Pen by Roman Diaz | 2,267 Kb |
Pure CSS tooltips | 2,273 Kb |
Snazzy glass buttons | 3,910 Kb |
4 Element CSS Clock | 5,695 Kb |
Browser window | 4,200 Kb |
The Creation of Adam - Pure CSS | 145,130 Kb |
CSS full size background | 1,572 Kb |
Obligatory CSS3 UI Nav | 9,017 Kb |
The Creation of Adam - Pure CSS | 243,196 Kb |
Basic Usage | 3,310 Kb |
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!
Name | Username | Size |
Vertically rotating text with CSS | Nopr | 2,141 Kb |
Rows with image hover effect | Amit-webdesigner | 12,875 Kb |
Bootstrap example | Ssaakkaa | 2,716 Kb |
Speech bubbles | Something | 1,547 Kb |
Canvas Fireworks | Jackrugile | 6,200 Kb |
My three.js practice | Esambino | 3,203 Kb |
Ripples in water | Nobitagit | 2,704 Kb |
CSS background-size - GSAP | Jonathan | 2,209 Kb |
Navcube | Wbarlow | 4,775 Kb |
Angular Route | Arun_v606 | 1,837 Kb |
Surf anonymously, prevent hackers from acquiring your IP address, send anonymous email, and encrypt your Internet connection. High speed, ultra secure, and easy to use. Instant setup. Hide Your IP Now!