街头篮球

欢迎来到程序小院

街头篮球

玩法:根据箭头所指方向,点击鼠标左键进行投篮,
投中获得1分,简单、普通、困难关卡,快去投篮吧^^。

开始游戏icon-default.png?t=N7T8https://www.ormcc.com/play/gameStart/272

html

<div id="wrapper"></div>

css

#wrapper {
  position: absolute;
  overflow: hidden;
  left: 0;
  top: 0;
  z-index: 0;
  width: 10000px;
}

#gameCanvas {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  image-rendering: optimizeSpeed;
  -ms-interpolation-mode: nearest-neighbor;
  -webkit-optimize-contrast;
  z-index: 100;
}

#swipeToFullscreen {
  position:absolute;
  top:0px;
  right: 0px;
  display: none;
  background-color: #fff;
  width: 150px;
  height: 350px;
  min-height: 350px;
  background-image: url('./preloaderHD/swipe.png');
  background-repeat: no-repeat;

}

js

var SG_Hooks = {
    debug : true,
    
 getLanguage : function( supportedLanguages ){
  return SG.initLangs(supportedLanguages);
 },
 
 start : function(){
        SG_Hooks.debug && console.log('game started');
        SG.trigger({type:'start'});
 },
 
 levelUp : function( level, score, callback){
        SG_Hooks.debug && console.log('level up:' + level + '/' + score);
  SG.trigger({type:'levelUp', level:level, lastLevelScore:score}, callback);
        
 },
 
 gameOver : function( level, score, callback){
        SG_Hooks.debug && console.log('game over:' + level + '/' + score);
  SG.trigger({type:'gameOver', score:score}, callback);
        
        // Play68.setRankingScoreDesc(score);

        // updateShare(score);

 },
 
    gameCompleted : function( score, callback ){
        SG_Hooks.debug && console.log('game completed:' + score);
        SG.trigger({type:'gameCompleted', score:score}, callback);
    },
    
    gamePause : function( state, callback ){ // state: on|off
        SG_Hooks.debug && console.log('game pause:' + state);
        SG.trigger({type:'gamePause', state:state}, callback);
    },
    
    gameRestart : function( callback ){
        SG_Hooks.debug && console.log('game restart:');
        SG.trigger({type:'gameRestart'}, callback);
    },
    
    selectMainMenu : function(callback){
        SG_Hooks.debug && console.log('selectMainMenu:');
        SG.trigger({type:'selectMainMenu'}, callback);
    },
    
    selectLevel : function( level, callback ){
        SG_Hooks.debug && console.log('selectLevel:'+level);
        SG.trigger({type:'selectLevel', level:level}, callback);
    },
    
    setSound : function( state, callback ){ // state: on|off
        SG_Hooks.debug && console.log('setSound:'+state);
        SG.trigger({type:'gameCompleted', state:state}, callback);
    },
    
    setOrientationHandler : function( f ){
  SG.setOrientationHandler( f );
 },
 
 setResizeHandler: function ( f ){
  SG.setResizeHandler(f);
 }
};
var SG_Lang = 'en';

var SG = {
    loaded : false,
    debug : false,
    lang      : 'en',
    gameJS       : [],
    d        : document,
    loadScrnTimer  : 10,
    
    boot : function(){
        SG.initLangs(window.gameLangs);
        
 if( sg_exists() ){
            window.softgames.gameInitCallback = SG.startGame;
            window.softgames.getReady();
 }
 else{
     SG.startGame();
 }
    },
    
    startGame : function(){
        if( SG.loaded ) return;
        SG.loaded = true;
        
        SG.showSpinner();
        
        if(typeof window.gamePreLoader == "function"){
            window.gamePreLoader();
        }
        
 SG.loadJsFiles(window.gameJS, function(){
     SG.hideLoadScrn();
     if(window.gameOnLoadScript){
  eval(window.gameOnLoadScript); // dear future me, i am deeply sorry!
     }
 });
 
    },
    
    showSpinner : function(){
        //SG.d.getElementById('sg-spinner').setAttribute('class','');
    },

    showLoadingBar : function(){
        return (SG.getUrlParameters()['disableLoadingBar'] === undefined || 
        SG.getUrlParameters()['disableLoadingBar'] !== "true")
    },
    
    showLoadScrn : function(){
 var loadScrn = SG.d.createElement('div');
        loadScrn.setAttribute('id', 'sg-loadscrn');

        if(SG.showLoadingBar()){
            var spin = SG.d.createElement('div');
     spin.setAttribute('id', 'sg-spinner');
            loadScrn.appendChild(spin);
        }
 
        if(window.location.href.indexOf("adultcontent") != -1){
            var text = SG.d.createElement('div');
            text.setAttribute('id', 'sg-loadtext');
            text.innerHTML = 'One moment please...<br>Your site is almost loaded!';
            loadScrn.appendChild(text);
        }
        
        var displayLoadScrn = function(){
            var body = SG.d.getElementsByTagName('body')[0];
            if( typeof body != "undefined" ){
                if( SG.d.getElementById('sg-loadscrn') == null ){
                    SG.debug && console.log('show load-screen: complete');
                    body.appendChild(loadScrn);
                }
                SG.loadVoyager();
            }
            else{
                if(SG.debug) console.log('show load-screen: body-tag not ready. 
                retrying in '+SG.loadScrnTimer+'ms');
                setTimeout(displayLoadScrn,SG.loadScrnTimer);
            }
        };
        
        displayLoadScrn();
    },
    
    hideLoadScrn : function(){
        var loadscrn = SG.d.getElementById('sg-loadscrn');
        if( loadscrn )
            loadscrn.parentNode.removeChild(loadscrn);
    },
 
    loadJsFiles : function(files, callback){
 var head = SG.d.getElementsByTagName('head')[0] || document.documentElement,
 loaded = [],
 callbacksUntilFinish = files.length;
 
 if( files.length > 0 ){
     var script = document.createElement('script'), loaded = false;
     script.type = 'text/javascript';
     script.src = files[0];
     files.shift();
     
     var done = false;
     script.onreadystatechange = script.onload = function() {
  if (!done && (!this.readyState || this.readyState === "loaded" || 
    this.readyState === "complete")) {
      done = true;
                    // Handle memory leak in IE
                    script.onload = script.onreadystatechange = null;
                    if (head && script.parentNode) {
                        head.removeChild(script);
                    }
                    
                    SG.loadJsFiles(files, callback);
                }
     };
     
     head.insertBefore(script, head.firstChild);
     if(SG.debug) console.log('loading '+script.src+', '+files.length+' files left.');
 }
 else if( typeof callback == 'function' ){
     if(SG.debug) console.log('calling callback: '+callback);
     callback();
 }
    },
    
    loadCSSFiles : function( files ){
 if( files.length == 0 ) return;
 var head = SG.d.getElementsByTagName('head')[0] || document.documentElement;
 
 for( var i=0; i<files.length; i++ ){
     var css = document.createElement('link');
     css.rel = 'stylesheet';
     css.type = 'text/css';
     css.href = files[i];
     head.insertBefore(css, head.firstChild);
 }
    },
    
    trigger : function( data, callback ){
 if( !sg_exists() ) return false;
 
 switch( data.type ){
 case 'start'  :       d = {type: window.softgames.eventStartingGame};     
  break;
 case 'levelUp'  :       d = {type: window.softgames.eventLevelUp, level: data.level};    
  break;
 case 'gameOver' :       d = {type: window.softgames.eventGameOver, score: data.score}; 
  break;
        case 'gameCompleted' :  d = {type: window.softgames.eventGameCompleted, score: 
        data.score}; break;
        case 'gamePause' :      d = {type: window.softgames.eventGamePause, state: 
        data.state}; break;
        case 'gameRestart' :    d = {type: window.softgames.eventGameRestart}; break;
        case 'selectLevel' :    d = {type: window.softgames.eventSelectLevel, level: 
        data.level}; break;
        case 'selectMainMenu' : d = {type: window.softgames.eventSelectMainMenu}; 
        break;
        case 'setSound' : d = {type: window.softgames.eventSound, state: data.state}; 
        break;
 }
 
 window.softgames.trigger(d, callback);
 
 return true;
    },
    
    initLangs : function( supported_languages ){
 var tmp_lang = typeof SG_getLang == 'function' ? SG_getLang() : 'en';
 var hasLanguages = (Object.prototype.toString.call(supported_languages)).toLowerCase()
  == "[object array]";
 if( hasLanguages && supported_languages.indexOf(tmp_lang) >= 0 )
     SG.lang = tmp_lang;
        
 SG_Lang = SG.lang; // support for old versions, that still use SG_Lang
 return SG.lang;
    },
    
    getLang : function( ){
 return SG.lang;
    },
    
    setOrientationHandler : function(handler){
 if( sg_exists() )
     window.softgames.changeScreenOrientation = handler;
        
        // handler();
    },
    
    setResizeHandler : function(handler){
 if( sg_exists() )
     window.softgames.changeScreenSize = handler;
    },
    
    // because some games just don't...
    hideAddressBar : function(){
 setTimeout("window.scrollTo(0, 1)", 10);
    },
    
    loadVoyager : function(){
        var sgc = document.createElement('script'); sgc.type = 'text/javascript';
        sgc.async = true;
        var random = Math.floor((Math.random()*100000000)+1);
        //sgc.src = 'http://scotty-staging.softgames.de/assets/api/voyager.js';
        // sgc.src = '//assets.sgc.io/assets/api/voyager.js?_='+random;
        // sgc.onload = SG.boot;
        SG.boot();
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(sgc, s);
    },
    redirectToPortal:function(){
         Play68.goHome();
    },
    
    detectPortalUrl:function(){
     var url=softgames.back_url;
        if(typeof url !== "string") url=softgames.subplatform;
        
        if(typeof url !== "string") {
     url="http://m.softgames.de";
 } else {
     if (url.match(/^http:\/\//) == false) {
  url="http://"+url; 
     }
 }
        
        SG.portalURL = url;
        
    },
    getLogoUrl : function(size){
       /* return "http://d1bjj4kazoovdg.cloudfront.net/assets/sg_ig_logo.png";*/
    },

    getUrlParameters : function(){
        var vars = [], hash;
        var hashes = window.location.href.slice(
        window.location.href.indexOf('?') + 1).split('&');
        for(var i = 0; i < hashes.length; i++)
        {
            hash = hashes[i].split('=');
            vars.push(hash[0]);
            vars[hash[0]] = hash[1];
        }
        return vars;
    }
};



function sg_exists(){
    return false;//typeof window.softgames != "undefined" && window.softgames != null;
}

/* Support old functions, that are used by games from previous connecting */
function SG_initAPI       (supported_languages) { 
return SG.initLangs( supported_languages ); }
function SG_hideAddressBar()         { SG.hideAddressBar(); }

function SG_OrientationHandler(orientationHandler, resizeHandler){
    if(typeof orientationHandler != "undefined" && orientationHandler != null)
 SG.setOrientationHandler(orientationHandler);
    
    if(typeof resizeHandler != "undefined" && resizeHandler != null)
 SG.setResizeHandler(resizeHandler);
}

SG.showLoadScrn();

源码

需要源码请关注添加好友哦^ ^

转载:欢迎来到本站,转载请注明文章出处https://ormcc.com/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/377674.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

unity——ScriptableObject相关知识点【学习笔记/不足之处欢迎斧正/个人复习向/侵删】

一、相关简介 1.ScriptableObject是什么&#xff1a;Unity提供的一个数据存储基类 2.ScriptableObject的好处有哪些&#xff1a;文件配置、数据复用、更好的处理数据带来的多态性为 二、ScriptableObject的创建 1.自定义ScriptableOject数据容器 继承ScriptableObject类 在…

2024/2/7总结

Node.js 什么是node.js node.js是一个基于chrome v8 引擎的 JavaScript 运行环境。 浏览器是JavaScript的前端运行环境node.js是JavaScript的后端运行环境 node.js中无法调用DOM和BOM等浏览器内置API fs模块 是node.js官方提供的、用来操作文件的模块&#xff0c;它提供了一系…

3.1-媒资管理之需求分析+搭建Nacos

文章目录 媒资管理模块1 模块需求分析1.1 模块介绍1.2 业务流程1.2.1 上传图片1.2.2 上传视频1.2.3 处理视频1.2.4 审核媒资 2.2 搭建Nacos2.2.1 服务发现中心2.2.2 配置中心2.2.2.1 配置三要素2.2.2.3配置content-api 2.2.3 公用配置2.2.4 配置优先级2.2.5 导入配置文件2.2.6 …

Java学习笔记------API

API API&#xff08; Application Programming Interface&#xff09;&#xff1a;应用程序编程接口 简单的说&#xff0c;API就是Java里面别人已经写好的东西&#xff0c;不用自己编写&#xff0c;直接使用即可 例如&#xff1a; public static void main&#xff08;Str…

[设计模式Java实现附plantuml源码~行为型]请求的链式处理——职责链模式

前言&#xff1a; 为什么之前写过Golang 版的设计模式&#xff0c;还在重新写Java 版&#xff1f; 答&#xff1a;因为对于我而言&#xff0c;当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言&#xff0c;更适合用于学习设计模式。 为什么类图要附上uml 因为很…

C#,栅栏油漆算法(Painting Fence Algorithm)的源代码

1 刷油漆问题 给定一个有n根柱子和k种颜色的围栏&#xff0c;找出油漆围栏的方法&#xff0c;使最多两个相邻的柱子具有相同的颜色。因为答案可以是大的&#xff0c;所以返回10^97的模。 计算结果&#xff1a; 2 栅栏油漆算法的源程序 using System; namespace Legalsoft.Tr…

跨境电商新风潮:充分发挥海外云手机的威力

在互联网行业迅速发展的大环境下&#xff0c;跨境电商、海外社交媒体营销以及游戏产业等重要领域都越来越需要借助海外云手机的协助。 特别是在蓬勃发展的跨境电商领域&#xff0c;像亚马逊、速卖通、eBay等平台&#xff0c;结合社交电商营销和短视频内容成为最有效的流量来源。…

百亿规模京东实时浏览记录系统的设计与实现

百亿规模京东实时浏览记录系统的设计与实现 系统介绍 浏览记录系统主要用来记录京东用户的实时浏览记录&#xff0c;并提供实时查询浏览数据的功能。在线用户访问一次商品详情页&#xff0c;浏览记录系统就会记录用户的一条浏览数据&#xff0c;并针对该浏览数据进行商品维度…

【PyTorch][chapter 15][李宏毅深度学习][Neighbor Embedding-LLE]

前言&#xff1a; 前面讲的都是线性降维&#xff0c;本篇主要讨论一下非线性降维. 流形学习&#xff08;mainfold learning&#xff09;是一类借鉴了拓扑流行概念的降维方法. 如上图,欧式距离上面 A 点跟C点更近&#xff0c;距离B 点较远 但是从图形拓扑结构来看&#xff0c; …

通过Harbor构建docker私服仓库

Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器&#xff0c;它扩展了开源的Docker Distribution&#xff0c;通过添加一些企业必需的功能特性&#xff0c;如安全、标识和管理等。Harbor由VMware公司开发并开源&#xff0c;旨在帮助用户迅速搭建一个企业级的Docke…

16:定时器和计数器

定时器和计数器 1、定时器和计数器的介绍2、定时器是如何工作3、寄存器4、51单片机定时器简介&#xff08;数据手册&#xff09;5、定时器中的寄存器&#xff08;数据手册&#xff09;5.1、TCON&#xff08;定时器控制寄存器&#xff09;5.2、TMOD&#xff08;工作模式寄存器&a…

WordPress突然后台无法管理问题

登录WordPress后台管理评论&#xff0c;发现点击编辑、回复均无反应。 尝试清除缓存、关闭CF连接均无效。 查看插件时发现关闭wp-china-yes插件可以解决问题。 后来又测试了下发现加速管理后台这项&#xff0c;在启用时会发生点击无效问题&#xff0c;禁用就好了&#xff0c;不…

Mysql进阶(sql优化和explain关键字)

一、为什么要对SQL进行优化&#xff1f; 由于业务数据量的增多&#xff0c;SQL的执行效率对程序的运行效率影响增大&#xff0c;此时就需要对SQL进行优化。 二、SQL优化的方法 1.查询sql尽量不要使用select * &#xff0c;而是具体字段。 节省资源&#xff0c;减少开销。 …

Flink Format系列(2)-CSV

Flink的csv格式支持读和写csv格式的数据&#xff0c;只需要指定 format csv&#xff0c;下面以kafka为例。 CREATE TABLE user_behavior (user_id BIGINT,item_id BIGINT,category_id BIGINT,behavior STRING,ts TIMESTAMP(3) ) WITH (connector kafka,topic user_behavior…

【01】判断素数/质数(C语言)

目录 &#xff08;1&#xff09;素数特点&#xff1a;只能被1和本身整除 &#xff08;2&#xff09;代码如下&#xff1a; &#xff08;3&#xff09;运行结果如下 ​编辑 &#xff08;4&#xff09;函数引申 &#xff08;1&#xff09;素数特点&#xff1a;只能被1和本身…

飞马座卫星

1960年代马歇尔太空飞行中心的历史显然与建造土星五号月球火箭有关。然而&#xff0c;鲜为人知的是该中心在设计科学有效载荷方面的早期工作。 Fairchild 技术人员正在检查扩展的 Pegasus 流星体探测表面。Pegasus 由马里兰州黑格斯敦的 Fairchild Stratos Corporation 通过马歇…

HarmonyOS SDK 助力新浪新闻打造精致易用的新闻应用

原生智能是HarmonyOS NEXT的核心亮点之一&#xff0c;依托HarmonyOS SDK丰富全面的开放能力&#xff0c;开发者只需通过几行代码&#xff0c;即可快速实现AI功能。新浪新闻作为鸿蒙原生应用开发的先行者之一&#xff0c;从有声资讯入手&#xff0c;基于Speech Kit朗读控件上线听…

Docker-Learn(二)保存、导入、使用Docker镜像

1.保存镜像 根据上一节内容&#xff0c;将创建好镜像进行保存&#xff0c;需要退出当前的已经在运行的docer命令行中断里面&#xff0c;可以通过在终端里面输入指令exit或者按下键盘上的 ctrlD建退出&#xff1a; 回到自己的终端里面&#xff0c;输入指令&#xff1a; docker…

基于全连接神经网络模型的手写数字识别

基于全连接神经网络模型的手写数字识别 一. 前言二. 设计目的及任务描述2.1 设计目的2.2 设计任务 三. 神经网络模型3.1 全连接神经网络模型方案3.2 全连接神经网络模型训练过程3.3 全连接神经网络模型测试 四. 程序设计 一. 前言 手写数字识别要求利用MNIST数据集里的70000张…

05 06 Verilog基础语法与应用讲解

05. 1. 位操作 计数器实验升级&#xff0c;设计8个LED灯以每个0.5s的速率循环闪烁&#xff08;跑马灯&#xff09; 1.1 方法1&#xff1a;使用移位操作符<<来控制led灯的循环亮灭 设计代码 Verilog中&#xff0c;判断操作的时候不加位宽限定是可以的&#xff0c;比如i…
最新文章