Autor Wątek: [Canvas]Łączenie kilku plików .js  (Przeczytany 2687 razy)

Offline kozuya

  • Użytkownik

# Styczeń 20, 2013, 15:15:20
Witam zastanawiam się jak korzystać z kilku plików javascript np:

Config.js->Engine.js

Engine.js->Game.js->Map.js->Object.js

Map.js->Character.js

itd.

w php wystarczył by zwykły include. Próbowałem <script src="js/config.js"></script>
    <script src="js/engine.js"></script>
    <script src="js/state/intro.js"></script>


ale bez żadnego skutku.


Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Astisus

  • Użytkownik
    • Portfolio

  • +1
# Styczeń 20, 2013, 15:48:15
Jeśli chcesz zwyczajnie podłączyć plik js do pliku html to wystarczy:
<script type="text/javascript" src="tu_nazwa_pliku_z_ścieżką.js"></script>
W innym przypadku może ten link Ci pomoże: http://blog.kamilbrenk.pl/sposoby-wczytywania-javascript/



Offline flexi

  • Użytkownik

# Styczeń 20, 2013, 16:34:57
Jesli uzywasz jQuery to libki powinny byc wczytywane przed koncem </body> z tego co wiem.

Dodatkowo mozesz sprobowac dodac do tagow script atrybut type="text/javascript"

Offline kozuya

  • Użytkownik

# Styczeń 20, 2013, 18:06:30
Wszystko się zgadza chodzi o to że np mam

config.js

//Wielkość Elementu Canvas
var width = 480,
    height = 640;
//Wypełnienie okna Canvas
//Przykład: 'rgb(0,0,0)', '#FFF', 'WHITE'
var CanvasBG = '#FFF';

engine.js
function Init(){
 var canvas = document.getElementById('thescreen');
  if (canvas.getContext) {
    var ctx = canvas.getContext ('2d');
    ctx.fillStyle = CanvasBG;
    ctx.fillRect (0, 0, width, height);
    draw();
}

}

state/intro.js

function draw() {
    var ctx = canvas.getContext('2d');
    ctx.fillStyle = "rgb(0,0,0)";
      ctx.font = "italic 30px Arial";
      ctx.textBaseline = "top";
      ctx.fillText ("GAME OVER", 160, 300);
      ctx.font = "17px Arial";
      ctx.fillText ("Press Enter to try again", 165, 340);
}

i engine pobiera sobie zmienne z config wszystko ładnie a intro już nie chce działać pomimo że funkcja draw jest wywołana w Init()

Offline Kos

  • Użytkownik
    • kos.gd

# Styczeń 20, 2013, 18:30:57
type="text/javascript" od dawna nie jest potrzebne.

@up Co to znaczy "nie chce działać"? Co się dzieje? Nie wchodzi Ci do draw()? Wchodzi, a nie rysuje?

Patrzyłeś w Firebuga lub Chrome Inspectora, czy JS-y się poprawnie załadowały? Może po prostu pomyliłeś ścieżkę?
Patrzyłeś w konsolę JS, czy nie ma błędów?

Offline Avaj

  • Użytkownik

  • +2
# Styczeń 20, 2013, 18:33:02
w draw() używasz canvas który jest zdefiniowany jako zmienna lokalna funkcji Init

wywal var przed canvasem w init i powinno być ok

Offline kozuya

  • Użytkownik

# Styczeń 20, 2013, 18:36:14
właśnie nic się nie dzieje. Chrom zwraca mi ze ctx nie jest zdefiniowany.

Offline kozuya

  • Użytkownik

# Styczeń 21, 2013, 00:14:18
Dzięki faktycznie mój błąd :)