{ "metadata": { "name": "", "signature": "sha256:b01df2b0b8090da3c2087d41657504b91ba0ee4207968c11803a428f4eda2aaa" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# TopGear Battlecruiser Demo\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Cross-notebook include shim\n", "with open(\"nbinclude.ipynb\") as nbinclude_f: # don't rename nbinclude_f\n", " import IPython.nbformat.current\n", " get_ipython().run_cell(IPython.nbformat.current.read(nbinclude_f, 'json').worksheets[0].cells[0].input)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "nbinclude(\"battlecruiser_widget\")" ], "language": "python", "metadata": {}, "outputs": [ { "javascript": [ "// TODO:\n", "// * code cleanup\n", "// * support button mapping / more than one button\n", "// * better handling for when gamepads disconnect/reconnect at runtime\n", "// * refactor getting gamepads into a function\n", "\n", "require([\"widgets/js/widget\"], function(WidgetManager) {\n", "\n", " var BattleCruiserView = IPython.DOMWidgetView.extend({\n", " render : function(){\n", " // Called when view is rendered.\n", "\n", " //http://drive.google.com/uc?export=view&id=0B_zpNTA3cxZhYlVQREMzRzU5VE0\n", " \n", " //var audio = new Audio('/static/battlecruiser_operational.mp3');\n", " var audio = new Audio('https://drive.google.com/uc?export=view&id=0B_zpNTA3cxZhYlVQREMzRzU5VE0');\n", " audio.play();\n", " \n", " \n", " \n", " //http://drive.google.com/uc?export=view&id=0B_zpNTA3cxZhSHhyR0dYNlhfcVk\n", "\n", " // This is a single-line horizontal widget\n", " this.$el\n", " .addClass('widget-hbox-single')\n", " .css({\n", " 'height': '480px',\n", " 'width': '640px',\n", " //'background-image':'url(/static/starcraft.png)'});\n", " 'background-image':'url(https://drive.google.com/uc?export=view&id=0B_zpNTA3cxZhSHhyR0dYNlhfcVk)'});\n", " // this.$el.style.backgroundImage = \"url(/static/starcraft.png)\";\n", "\n", " // Add a label div, which will contain the description\n", " this.$label = $('
')\n", " .addClass('widget-hlabel')\n", " .appendTo(this.$el)\n", " .hide();\n", "\n", " this.$value = $('')\n", " .addClass('widget-hlabel')\n", " .appendTo(this.$el)\n", " .hide();\n", "\n", " this.$x_val = $('')\n", " .addClass('widget-hlabel')\n", " .appendTo(this.$el)\n", " .hide();\n", "\n", " this.$y_val = $('')\n", " .addClass('widget-hlabel')\n", " .appendTo(this.$el)\n", " .hide();\n", "\n", " this.$theta_val = $('')\n", " .addClass('widget-hlabel')\n", " .appendTo(this.$el)\n", " .hide();\n", "\n", "\n", " //$('