基本信息
源码名称:HTML5 水果忍者网页版(source).zip
源码大小:1.12M
文件格式:.zip
开发语言:js
更新时间:2019-10-05
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍



目录如下:

│  index.html

├─images
│  │  background.jpg
│  │  blank.gif
│  │  developing.png
│  │  dojo.png
│  │  flash.png
│  │  fork.gif
│  │  game-over.png
│  │  home-desc.png
│  │  home-mask.png
│  │  index.css
│  │  logo.png
│  │  lose.png
│  │  new-game.png
│  │  new.png
│  │  ninja.png
│  │  quit.png
│  │  score.png
│  │  shadow.png
│  │  smoke.png
│  │  x.png
│  │  xf.png
│  │  xx.png
│  │  xxf.png
│  │  xxx.png
│  │  xxxf.png
│  │
│  └─fruit
│          apple-1.png
│          apple-2.png
│          apple.png
│          banana-1.png
│          banana-2.png
│          banana.png
│          basaha-1.png
│          basaha-2.png
│          basaha.png
│          boom.png
│          peach-1.png
│          peach-2.png
│          peach.png
│          sandia-1.png
│          sandia-2.png
│          sandia.png

├─scripts
│  │  all.js
│  │  collide.js
│  │  control.js
│  │  game.js
│  │  layer.js
│  │  main.js
│  │  message.js
│  │  sence.js
│  │  state.js
│  │  timeline.js
│  │  tools.js
│  │
│  ├─factory
│  │      displacement.js
│  │      fruit.js
│  │      juice.js
│  │      rotate.js
│  │
│  ├─lib
│  │      buzz.js
│  │      raphael.js
│  │      sound.js
│  │      tween.js
│  │      ucren.js
│  │
│  └─object
│          background.js
│          console.js
│          developing.js
│          dojo.js
│          flame.js
│          flash.js
│          fps.js
│          game-over.js
│          home-desc.js
│          home-mask.js
│          knife.js
│          light.js
│          logo.js
│          lose.js
│          new-game.js
│          new.js
│          ninja.js
│          quit.js
│          score.js

└─sound
        boom.mp3
        boom.ogg
        menu.mp3
        menu.ogg
        over.mp3
        over.ogg
        splatter.mp3
        splatter.ogg
        start.mp3
        start.ogg
        throw.mp3
        throw.ogg

代码如下:



var timeline = require( "timeline" );
var tools = require( "tools" );
var sence = require( "sence" );
var Ucren = require( "lib/ucren" );
var buzz = require( "lib/buzz" );
var control = require( "control" );
var csl = require( "object/console" );
var message = require( "message" );
var state = require( "state" );

var game = require( "game" );

var collide = require( "collide" );

var setTimeout = timeline.setTimeout.bind( timeline );

var log = function(){
    var time = 1e3, add = 300, fn;
    fn = function( text ){
        setTimeout( function(){ csl.log( text ); }, time );
        time += add;
    };
    fn.clear = function(){
        setTimeout( csl.clear.bind( csl ), time );
        time += add;
    };
    return fn;
}();

exports.start = function(){

    [ timeline, sence, control ].invoke( "init" );

    log( "正在加载鼠标控制脚本" );
    log( "正在加载图像资源" );
	log( "正在加载游戏脚本" );
    log( "正在加载剧情" );
    log( "正在初始化" );
	log( "正在启动游戏..." );
    log.clear();

    setTimeout( sence.switchSence.saturate( sence, "home-menu" ), 3000 );
};

message.addEventListener("slice", function( knife ){
    var fruits = collide.check( knife ), angle;
    if( fruits.length )
        angle = tools.getAngleByRadian( tools.pointToRadian( knife.slice(0, 2), knife.slice(2, 4) ) ),
        fruits.forEach(function( fruit ){
           message.postMessage( fruit, angle, "slice.at" );
        });
});

message.addEventListener("slice.at", function( fruit, angle ){

    if( state( "sence-state" ).isnot( "ready" ) )
        return ;

    if( state( "sence-name" ).is( "game-body" ) ){
        game.sliceAt( fruit, angle );
        return ;
    }

    if( state( "sence-name" ).is( "home-menu" ) ){
        fruit.broken( angle );
        if( fruit.isHomeMenu )
            switch( 1 ){
                case fruit.isDojoIcon:
                    sence.switchSence( "dojo-body" ); break;
                case fruit.isNewGameIcon:
                    sence.switchSence( "game-body" ); break;
                case fruit.isQuitIcon:
                    sence.switchSence( "quit-body" ); break;
            }
        return ;
    }
});

var tip = "";

if( !Ucren.isChrome )
    tip = "$为了获得最佳流畅度,推荐您使用 <span class='b'>Google Chrome</span> 体验本游戏";

if( !buzz.isSupported() )
    tip = tip.replace( "$", "您的浏览器不支持 &lt;audio&gt 播放声效,且" );

tip = tip.replace( "$", "" );

Ucren.Element( "browser" ).html( tip );