Как создать нахождение элементов веб-игры
Я пытаюсь создать веб-игру, которая отображает грязный фон офисной комнаты и офисные элементы на ней, и пользователь должен найти эти элементы. что-то вроде этого: http://www.games2rule.com/play/messy-office-room/9548
Как правильно это сделать? какие-либо рамки, которые могут сэкономить мне время? Должен ли я использовать холст или просто div-ы с abosulte позиции, которые связывают события клика? например, создайте основной div, который отображает офисную область, и, например, ноутбук на нем:
<div id="office-background">
<div id="laptop"></div>
</div>
# office-background будет position: относительный, и ноутбук будет на нем.
Спасибо!
1 ответ
Вы можете иметь фон, как вы описали, и ряд элементов, таких как ноутбук, стул, стол для принтера, как div. Затем, как только эти элементы были найдены, перетащите их в найденную корзину, которая является еще одним div.
http://jqueryui.com/draggable/
http://jqueryui.com/droppable/
Это позволит вам сделать что-то с элементами, а не просто щелкнуть, чтобы сделать его более интерактивным.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Droppable - Default functionality</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui .css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<style>
#draggable { width: 100px; height: 100px; padding: 0.5em; float: left; margin: 10px 10px 10px 0; }
#droppable { width: 150px; height: 150px; padding: 0.5em; float: left; margin: 10px; }
</style>
<script>
$(function() {
$( "#draggable" ).draggable();
$( "#droppable" ).droppable({
drop: function( event, ui ) {
$( this )
.addClass( "ui-state-highlight" )
.find( "p" )
.html( "Dropped!" );
}
});
});
</script>
</head>
<body>
<div id="draggable" class="ui-widget-content">
<p>Drag me to my target</p>
</div>
<div id="droppable" class="ui-widget-header">
<p>Drop here</p>
</div>
</body>
</html>