mirror of
https://github.com/scratchfoundation/scratch-blocks.git
synced 2025-08-28 22:10:31 -04:00
Sound URLs now relative to page, not media directory.
This commit is contained in:
parent
0cb49f2682
commit
9f06ace138
4 changed files with 16 additions and 18 deletions
|
@ -73,10 +73,8 @@ Maze.SKINS = [
|
|||
background: false,
|
||||
graph: false,
|
||||
look: '#000',
|
||||
winSound: [Maze.MEDIA_TO_MAZE_PATH + 'win.mp3',
|
||||
Maze.MEDIA_TO_MAZE_PATH + 'win.ogg'],
|
||||
crashSound: [Maze.MEDIA_TO_MAZE_PATH + 'fail_pegman.mp3',
|
||||
Maze.MEDIA_TO_MAZE_PATH + 'fail_pegman.ogg'],
|
||||
winSound: ['win.mp3', 'win.ogg'],
|
||||
crashSound: ['fail_pegman.mp3', 'fail_pegman.ogg'],
|
||||
crashType: Maze.CRASH_STOP
|
||||
},
|
||||
{
|
||||
|
@ -87,10 +85,8 @@ Maze.SKINS = [
|
|||
// Coma star cluster, photo by George Hatfield, used with permission.
|
||||
graph: false,
|
||||
look: '#fff',
|
||||
winSound: [Maze.MEDIA_TO_MAZE_PATH + 'win.mp3',
|
||||
Maze.MEDIA_TO_MAZE_PATH + 'win.ogg'],
|
||||
crashSound: [Maze.MEDIA_TO_MAZE_PATH + 'fail_astro.mp3',
|
||||
Maze.MEDIA_TO_MAZE_PATH + 'fail_astro.ogg'],
|
||||
winSound: ['win.mp3', 'win.ogg'],
|
||||
crashSound: ['fail_astro.mp3', 'fail_astro.ogg'],
|
||||
crashType: Maze.CRASH_SPIN
|
||||
},
|
||||
{
|
||||
|
@ -101,10 +97,8 @@ Maze.SKINS = [
|
|||
// Spring canopy, photo by Rupert Fleetingly, CC licensed for reuse.
|
||||
graph: false,
|
||||
look: '#000',
|
||||
winSound: [Maze.MEDIA_TO_MAZE_PATH + 'win.mp3',
|
||||
Maze.MEDIA_TO_MAZE_PATH + 'win.ogg'],
|
||||
crashSound: [Maze.MEDIA_TO_MAZE_PATH + 'fail_panda.mp3',
|
||||
Maze.MEDIA_TO_MAZE_PATH + 'fail_panda.ogg'],
|
||||
winSound: ['win.mp3', 'win.ogg'],
|
||||
crashSound: ['fail_panda.mp3', 'fail_panda.ogg'],
|
||||
crashType: Maze.CRASH_FALL
|
||||
}
|
||||
];
|
||||
|
|
|
@ -1243,8 +1243,8 @@ a.viewWidth+a.viewLeft))for(var b=Blockly.mainWorkspace.getTopBlocks(!1),c=0,d;d
|
|||
a.appendChild(b);Blockly.svg=b;Blockly.svgResize();Blockly.WidgetDiv.DIV=goog.dom.createDom("div","blocklyWidgetDiv");Blockly.WidgetDiv.DIV.style.direction=Blockly.RTL?"rtl":"ltr";document.body.appendChild(Blockly.WidgetDiv.DIV)};
|
||||
Blockly.init_=function(){Blockly.bindEvent_(Blockly.svg,"mousedown",null,Blockly.onMouseDown_);Blockly.bindEvent_(Blockly.svg,"contextmenu",null,Blockly.onContextMenu_);Blockly.bindEvent_(Blockly.WidgetDiv.DIV,"contextmenu",null,Blockly.onContextMenu_);Blockly.documentEventsBound_||(Blockly.bindEvent_(window,"resize",document,Blockly.svgResize),Blockly.bindEvent_(document,"keydown",null,Blockly.onKeyDown_),document.addEventListener("mouseup",Blockly.onMouseUp_,!1),goog.userAgent.IPAD&&Blockly.bindEvent_(window,
|
||||
"orientationchange",document,function(){Blockly.fireUiEvent(window,"resize")}),Blockly.documentEventsBound_=!0);if(Blockly.languageTree)if(Blockly.hasCategories)Blockly.Toolbox.init();else{Blockly.mainWorkspace.flyout_.init(Blockly.mainWorkspace);Blockly.mainWorkspace.flyout_.show(Blockly.languageTree.childNodes);Blockly.mainWorkspace.scrollX=Blockly.mainWorkspace.flyout_.width_;Blockly.RTL&&(Blockly.mainWorkspace.scrollX*=-1);var a="translate("+Blockly.mainWorkspace.scrollX+", 0)";Blockly.mainWorkspace.getCanvas().setAttribute("transform",
|
||||
a);Blockly.mainWorkspace.getBubbleCanvas().setAttribute("transform",a)}Blockly.hasScrollbars&&(Blockly.mainWorkspace.scrollbar=new Blockly.ScrollbarPair(Blockly.mainWorkspace),Blockly.mainWorkspace.scrollbar.resize());Blockly.mainWorkspace.addTrashcan();if(Blockly.hasSounds){Blockly.loadAudio_(["click.mp3","click.wav","click.ogg"],"click");Blockly.loadAudio_(["delete.mp3","delete.ogg","delete.wav"],"delete");var b=[],a=function(){for(;b.length;)Blockly.unbindEvent_(b.pop());Blockly.preloadAudio_()};
|
||||
b.push(Blockly.bindEvent_(document,"mousemove",null,a));b.push(Blockly.bindEvent_(document,"touchstart",null,a))}};
|
||||
a);Blockly.mainWorkspace.getBubbleCanvas().setAttribute("transform",a)}Blockly.hasScrollbars&&(Blockly.mainWorkspace.scrollbar=new Blockly.ScrollbarPair(Blockly.mainWorkspace),Blockly.mainWorkspace.scrollbar.resize());Blockly.mainWorkspace.addTrashcan();if(Blockly.hasSounds){Blockly.loadAudio_([Blockly.pathToMedia+"click.mp3",Blockly.pathToMedia+"click.wav",Blockly.pathToMedia+"click.ogg"],"click");Blockly.loadAudio_([Blockly.pathToMedia+"delete.mp3",Blockly.pathToMedia+"delete.ogg",Blockly.pathToMedia+
|
||||
"delete.wav"],"delete");var b=[],a=function(){for(;b.length;)Blockly.unbindEvent_(b.pop());Blockly.preloadAudio_()};b.push(Blockly.bindEvent_(document,"mousemove",null,a));b.push(Blockly.bindEvent_(document,"touchstart",null,a))}};
|
||||
Blockly.updateToolbox=function(a){if(a=Blockly.parseToolboxTree_(a)){if(!Blockly.languageTree)throw"Existing toolbox is null. Can't create new toolbox.";if(a.getElementsByTagName("category").length){if(!Blockly.hasCategories)throw"Existing toolbox has no categories. Can't change mode.";Blockly.languageTree=a;Blockly.Toolbox.populate_()}else{if(Blockly.hasCategories)throw"Existing toolbox has categories. Can't change mode.";Blockly.languageTree=a;Blockly.mainWorkspace.flyout_.show(Blockly.languageTree.childNodes)}}else if(Blockly.languageTree)throw"Can't nullify an existing toolbox.";
|
||||
};
|
||||
// Copyright 2012 Google Inc. Apache License 2.0
|
||||
|
@ -1272,7 +1272,7 @@ Blockly.onKeyDown_=function(a){if(!Blockly.isTargetInput_(a))if(27==a.keyCode)Bl
|
|||
Blockly.showContextMenu_=function(a){if(!Blockly.readOnly){var b=[];if(Blockly.collapse){for(var c=!1,d=!1,e=Blockly.mainWorkspace.getTopBlocks(!1),f=0;f<e.length;f++)for(var g=e[f];g;)g.isCollapsed()?c=!0:d=!0,g=g.getNextBlock();d={enabled:d};d.text=Blockly.Msg.COLLAPSE_ALL;d.callback=function(){for(var a=0,b=0;b<e.length;b++)for(var c=e[b];c;)setTimeout(c.setCollapsed.bind(c,!0),a),c=c.getNextBlock(),a+=10};b.push(d);c={enabled:c};c.text=Blockly.Msg.EXPAND_ALL;c.callback=function(){for(var a=0,
|
||||
b=0;b<e.length;b++)for(var c=e[b];c;)setTimeout(c.setCollapsed.bind(c,!1),a),c=c.getNextBlock(),a+=10};b.push(c)}Blockly.ContextMenu.show(a,b)}};Blockly.onContextMenu_=function(a){Blockly.isTargetInput_(a)||a.preventDefault()};Blockly.hideChaff=function(a){Blockly.Tooltip.hide();Blockly.WidgetDiv.hide();!a&&Blockly.Toolbox.flyout_&&Blockly.Toolbox.flyout_.autoClose&&Blockly.Toolbox.clearSelection()};
|
||||
Blockly.removeAllRanges=function(){if(window.getSelection){var a=window.getSelection();a&&a.removeAllRanges&&(a.removeAllRanges(),window.setTimeout(function(){try{window.getSelection().removeAllRanges()}catch(a){}},0))}};Blockly.isTargetInput_=function(a){return"textarea"==a.target.type||"text"==a.target.type};
|
||||
Blockly.loadAudio_=function(a,b){if(window.Audio&&a.length){for(var c,d=new window.Audio,e=0;e<a.length;e++){var f=a[e],g=f.match(/\.(\w+)$/);if(g&&d.canPlayType("audio/"+g[1])){c=new window.Audio(Blockly.pathToMedia+f);break}}c&&c.play&&(Blockly.SOUNDS_[b]=c)}};Blockly.preloadAudio_=function(){for(var a in Blockly.SOUNDS_){var b=Blockly.SOUNDS_[a];b.volume=.01;b.play();b.pause();if(goog.userAgent.IPAD||goog.userAgent.IPHONE)break}};
|
||||
Blockly.loadAudio_=function(a,b){if(window.Audio&&a.length){for(var c,d=new window.Audio,e=0;e<a.length;e++){var f=a[e],g=f.match(/\.(\w+)$/);if(g&&d.canPlayType("audio/"+g[1])){c=new window.Audio(f);break}}c&&c.play&&(Blockly.SOUNDS_[b]=c)}};Blockly.preloadAudio_=function(){for(var a in Blockly.SOUNDS_){var b=Blockly.SOUNDS_[a];b.volume=.01;b.play();b.pause();if(goog.userAgent.IPAD||goog.userAgent.IPHONE)break}};
|
||||
Blockly.playAudio=function(a,b){var c=Blockly.SOUNDS_[a];c&&(c=goog.userAgent.DOCUMENT_MODE&&9===goog.userAgent.DOCUMENT_MODE||goog.userAgent.IPAD||goog.userAgent.ANDROID?c:c.cloneNode(),c.volume=void 0===b?1:b,c.play())};Blockly.setCursorHand_=function(a){if(!Blockly.readOnly){var b="";a&&(b="url("+Blockly.pathToMedia+"handclosed.cur) 7 3, auto");Blockly.selected&&(Blockly.selected.getSvgRoot().style.cursor=b);Blockly.svg.style.cursor=b}};
|
||||
Blockly.getMainWorkspaceMetrics_=function(){var a=Blockly.svgSize();a.width-=Blockly.Toolbox.width;var b=a.width-Blockly.Scrollbar.scrollbarThickness,c=a.height-Blockly.Scrollbar.scrollbarThickness;try{var d=Blockly.mainWorkspace.getCanvas().getBBox()}catch(e){return null}if(Blockly.mainWorkspace.scrollbar)var f=Math.min(d.x-b/2,d.x+d.width-b),b=Math.max(d.x+d.width+b/2,d.x+b),g=Math.min(d.y-c/2,d.y+d.height-c),c=Math.max(d.y+d.height+c/2,d.y+c);else f=d.x,b=f+d.width,g=d.y,c=g+d.height;return{viewHeight:a.height,
|
||||
viewWidth:a.width,contentHeight:c-g,contentWidth:b-f,viewTop:-Blockly.mainWorkspace.scrollY,viewLeft:-Blockly.mainWorkspace.scrollX,contentTop:g,contentLeft:f,absoluteTop:0,absoluteLeft:Blockly.RTL?0:Blockly.Toolbox.width}};
|
||||
|
|
|
@ -568,7 +568,7 @@ Blockly.loadAudio_ = function(filenames, name) {
|
|||
var ext = filename.match(/\.(\w+)$/);
|
||||
if (ext && audioTest.canPlayType('audio/' + ext[1])) {
|
||||
// Found an audio format we can play.
|
||||
sound = new window['Audio'](Blockly.pathToMedia + filename);
|
||||
sound = new window['Audio'](filename);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -417,9 +417,13 @@ Blockly.init_ = function() {
|
|||
// Load the sounds.
|
||||
if (Blockly.hasSounds) {
|
||||
Blockly.loadAudio_(
|
||||
['click.mp3', 'click.wav', 'click.ogg'], 'click');
|
||||
[Blockly.pathToMedia + 'click.mp3',
|
||||
Blockly.pathToMedia + 'click.wav',
|
||||
Blockly.pathToMedia + 'click.ogg'], 'click');
|
||||
Blockly.loadAudio_(
|
||||
['delete.mp3', 'delete.ogg', 'delete.wav'], 'delete');
|
||||
[Blockly.pathToMedia + 'delete.mp3',
|
||||
Blockly.pathToMedia + 'delete.ogg',
|
||||
Blockly.pathToMedia + 'delete.wav'], 'delete');
|
||||
|
||||
// Bind temporary hooks that preload the sounds.
|
||||
var soundBinds = [];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue