我在Unity中遇到了WebPlayer的问题。
我的游戏在我的代码开头使用SetActive
停用了一些画布。在编辑器或桌面版本中,这些画布已正确停用。
但是当我构建一个网络播放器版本时,它们却不是。全部显示。我更新了一切,但没有变化。
这是我的代码:
void Start ()
{
base.Start();
MusicLoopsManager.manager.PlayMusic(MusicType.menuMusic);
mode = GameObject.Find("Mode") as GameObject;
modeState = ModeState.play;
pause = GameObject.Find("Pause") as GameObject;
resume = GameObject.Find("Resume") as GameObject;
retry = GameObject.Find("Retry") as GameObject;
exit = GameObject.Find("Exit") as GameObject;
titleCanvas = GameObject.Find("TitleCanvas") as GameObject;
levelSelectionCanvas = GameObject.Find("LevelSelectionCanvas") as GameObject;
hudCanvas = GameObject.Find("HUDCanvas") as GameObject;
pauseCanvas = GameObject.Find("PauseCanvas") as GameObject;
victoryCanvas = GameObject.Find("VictoryCanvas") as GameObject;
levelSelectionCanvas.gameObject.SetActive(false);
hudCanvas.gameObject.SetActive(false);
pauseCanvas.gameObject.SetActive(false);
victoryCanvas.gameObject.SetActive(false);
}
答案 0 :(得分:3)
请注意,除了其他任何内容之外,您 不能在Unity中使用<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="grid4 text_center" style="margin: 20px 20px 0px 0px;">
<input value="Calculer" class="bouton btvalid btlong250 validation" type="submit">
</div>
<script>
(function(factory) {
if (typeof define === 'function' && define.amd) {
define(['jquery'], factory);
} else if (typeof exports === 'object') {
factory(require('jquery'));
} else {
factory(jQuery);
}
}(function($, undefined) {
function _match(me, query, fn, fn2) {
return me.selector == query.selector &&
me.context == query.context &&
(!fn || fn.$lqguid == query.fn.$lqguid) &&
(!fn2 || fn2.$lqguid == query.fn2.$lqguid);
}
$.extend($.fn, {
livequery: function(fn, fn2) {
var me = this,
q;
// See if Live Query already exists
$.each($jQlq.queries, function(i, query) {
if (_match(me, query, fn, fn2))
// Found the query, exit the each loop
return (q = query) && false;
});
// Create new Live Query if it wasn't found
q = q || new $jQlq(me.selector, me.context, fn, fn2);
// Make sure it is running
q.stopped = false;
// Run it immediately for the first time
q.run();
// Contnue the chain
return me;
},
expire: function(fn, fn2) {
var me = this;
// Find the Live Query based on arguments and stop it
$.each($jQlq.queries, function(i, query) {
if (_match(me, query, fn, fn2) && !me.stopped)
$jQlq.stop(query.id);
});
// Continue the chain
return me;
}
});
var $jQlq = $.livequery = function(selector, context, fn, fn2) {
var me = this;
me.selector = selector;
me.context = context;
me.fn = fn;
me.fn2 = fn2;
me.elements = $([]);
me.stopped = false;
// The id is the index of the Live Query in $.livequery.queries
me.id = $jQlq.queries.push(me) - 1;
// Mark the functions for matching later on
fn.$lqguid = fn.$lqguid || $jQlq.guid++;
if (fn2) fn2.$lqguid = fn2.$lqguid || $jQlq.guid++;
// Return the Live Query
return me;
};
$jQlq.prototype = {
stop: function() {
var me = this;
// Short-circuit if stopped
if (me.stopped) return;
if (me.fn2)
// Call the second function for all matched elements
me.elements.each(me.fn2);
// Clear out matched elements
me.elements = $([]);
// Stop the Live Query from running until restarted
me.stopped = true;
},
run: function() {
var me = this;
// Short-circuit if stopped
if (me.stopped) return;
var oEls = me.elements,
els = $(me.selector, me.context),
newEls = els.not(oEls),
delEls = oEls.not(els);
// Set elements to the latest set of matched elements
me.elements = els;
// Call the first function for newly matched elements
newEls.each(me.fn);
// Call the second function for elements no longer matched
if (me.fn2)
delEls.each(me.fn2);
}
};
$.extend($jQlq, {
guid: 0,
queries: [],
queue: [],
running: false,
timeout: null,
registered: [],
checkQueue: function() {
if ($jQlq.running && $jQlq.queue.length) {
var length = $jQlq.queue.length;
// Run each Live Query currently in the queue
while (length--)
$jQlq.queries[$jQlq.queue.shift()].run();
}
},
pause: function() {
// Don't run anymore Live Queries until restarted
$jQlq.running = false;
},
play: function() {
// Restart Live Queries
$jQlq.running = true;
// Request a run of the Live Queries
$jQlq.run();
},
registerPlugin: function() {
$.each(arguments, function(i, n) {
// Short-circuit if the method doesn't exist
if (!$.fn[n] || $.inArray(n, $jQlq.registered) > 0) return;
// Save a reference to the original method
var old = $.fn[n];
// Create a new method
$.fn[n] = function() {
// Call the original method
var r = old.apply(this, arguments);
// Request a run of the Live Queries
$jQlq.run();
// Return the original methods result
return r;
};
$jQlq.registered.push(n);
});
},
run: function(id) {
if (id !== undefined) {
// Put the particular Live Query in the queue if it doesn't already exist
if ($.inArray(id, $jQlq.queue) < 0)
$jQlq.queue.push(id);
} else
// Put each Live Query in the queue if it doesn't already exist
$.each($jQlq.queries, function(id) {
if ($.inArray(id, $jQlq.queue) < 0)
$jQlq.queue.push(id);
});
// Clear timeout if it already exists
if ($jQlq.timeout) clearTimeout($jQlq.timeout);
// Create a timeout to check the queue and actually run the Live Queries
$jQlq.timeout = setTimeout($jQlq.checkQueue, 20);
},
stop: function(id) {
if (id !== undefined)
// Stop are particular Live Query
$jQlq.queries[id].stop();
else
// Stop all Live Queries
$.each($jQlq.queries, $jQlq.prototype.stop);
}
});
// Register core DOM manipulation methods
$jQlq.registerPlugin('append', 'prepend', 'after', 'before', 'wrap', 'attr', 'removeAttr', 'addClass', 'removeClass', 'toggleClass', 'empty', 'remove', 'html', 'prop', 'removeProp');
// Run Live Queries when the Document is ready
$(function() {
$jQlq.play();
});
}));
</script>
。
“开始”只是不起作用 - 它是一个神奇的功能,它几乎就像一些预处理器语法糖果。
您可以google much about the issue。
所以在第一个例子中,不要这样做或尝试这样做。
如果您正在使用派生类,请不要尝试在“开始”中执行任何操作。拥有自己的功能 - 比如“开始”或“设置” - 并完全使用它。只需从Unity的魔法base.Start()
,