Keresés

Részletes keresés

rostakati56 Creative Commons License 2020.11.28 0 0 5290

Adatokkal szeretnék kommunikálni egy másik programmal. Leteszem valahová a .js file-t, azt a fogadó program feldolgozza és visszaad egy másik .js file-t.

A file-ok nevei változnak. Hogyan lehet egy file-t használni npm install -- save parancs nélkül. Vagy beépíthetem ezt a parancsot a programba?

 

 

Ezzel kapcsolatos apróbb kérdéseim: mit jelent a @ a filenév elején? (Vagy bárhol.)

A főkönyvtárat hogyan lehet megtalálni? // az jó?

Qkoritsza Creative Commons License 2020.05.19 0 0 5289

Sziasztok! Középsiskolás vagyok. Most tanuljuk a Javascriptet (tombkezelés) és nem igazán értem. Esetleg tudna valaki segíteni? :D

mcity Creative Commons License 2019.11.10 0 0 5288

Sziasztok! Kiegészítő bevétel! Programozót keresek, egy-egy eseti megbízásra. FB2.5 ismerete lényeges. Számlaképes legyen.

_szergej_ Creative Commons License 2019.10.16 0 0 5287

Na ezert szeretjuk a stackoverflowt...

Előzmény: yzz (5286)
yzz Creative Commons License 2019.10.14 0 0 5286

Szia @_szergej_,

 

Koszi, hogy idot szakitottal arra, hogy megnezned a kerdesemet.

Ahogy irtam uj vagyok a javascritben igy persze, hogy nem tokeletes es a kerdesemet az utan tettem fel, hogy megprobaltam megoldani magamtol.

a 48. sort lattam, hogy hibat jelez. irtam is h elkezdtem irni, de nem tudtam, igy kerdeztem itt a segitseg topikban.

 

Amit viszont nem ertek, az az energia amit beletettel ebbe a negativabb hangvetelu kommentben szerintem rovidebb ido alatt ra tudtal volna vezetni a megoldasra.

 

Meg1szer koszi, hogy raneztel.

 

A legjobbakat.

 

 

 

Előzmény: _szergej_ (5285)
_szergej_ Creative Commons License 2019.10.12 0 0 5285

Ne haragudj, de ez valami borzaszto spagetti kod. Ilyen formaban ebben semmi se mukodik. Ld. js konzolban,"SyntaxError: missing ( before condition", de meg a jsfiddle is jelzi, hogy a 48. sor hibas:

 

if wrong = document.getElementById('q1red1').checked; {

 

Ez mi akar lenni?

1. Az if utani kifejezes (feltetel) zarojelezendo.

2. kulonbseg van az = es az == operatorok kozott, nem mindegy, melyiket hasznalod.

3. a ; utan { is jellemzo hiba. Ha ez a kifejezes helyes is lenne, az if-nek nem lenne semmi ertelme, mivel ures utasitas fut le a feltetel teljesules eseten is. A {}-k kozott levo kod meg lefutna.

 

function myFunction() {

Fuggvenyben egy fuggveny? Miert? Meg sem hivodik.

 

Tovabbi jo tanacsok:

Ha egymas utani sorokban 10-szer (szinte) ugyanazt irod le, akkor valamit rosszul csinalsz. Ld. ciklusok.

A kod fele ki van kommentezve, atlathatatlan, ha segitseget kersz, ezeket vedd ki, mielott megosztod, csak a lenyeg maradjon bent, igy elegge tl;dr.

 

Lehet, hogy szamodra ez nem egy komplexebb feladat vagy csak nagyot akartal ugrani, de szvsz olvasgasd meg a js alapjait.

Előzmény: yzz (5284)
yzz Creative Commons License 2019.10.11 0 0 5284

Sziasztok,

 

Elkezdtem javascriptezni. 

Egy "Kvizen" dolgozgatok

 

a problemam a kovetkezo:

ha submit gombra ranyomok akkor a jo valasz zold lesz (ezt be tudtam allitani) viszont ha rosszat jelolok akkor nem tudom mas szinre "festeni" marad a jelolo szin. Persze ehhez az szukseges, hogy a radio button checked legyen. If else statementtel probalkozom.

Csak az elso kerdesre probaltam megirni eddig a scriptet ami a 48.sorban kezdodik

 

https://jsfiddle.net/z8nkpq1s/

 

 

A segitsegedetek elore is koszonom.

 

Udv.

halaloszto Creative Commons License 2019.07.23 0 0 5283

http://jsfiddle.net/zG9MF/2/

 

stackoverflowrol van.

 

midenképpen megkapod a sok keypress meg keydown -t, ignoralnod kell, amig a keyup meg nem jön.

Előzmény: Emberlight (5282)
Emberlight Creative Commons License 2019.07.23 0 0 5282


Sziasztok.

Azt szeretném megoldani, hogy a keydown event ne érzékelje a space többszöri lenyomását, csak a nyomva tartását.
A kódrészletem:

$("body").on('keydown', function(event) {
switch (event.keyCode) {
case 32:
console.log("space");
}
})
egy hazafi Creative Commons License 2019.01.10 0 0 5281

Úgy tapasztaltam, hogy nem fut le az addEventListener  egerfelette függvénye sehogy sem...

Egyébként úgy van a program felépítve, hogy gombnyomásra jön létre néhány objektum (ikonok), és azokon hajtódna végre ez az ellenőrzés, hogy felette van-e az egérmutató. Erre a gombnyomásra lesz az aktívfelület 2-es értékű, és ekkor jönnek létre az ikonok is.

Vajon jól használom az addEventListener-t ezen logika alapján?

Előzmény: _szergej_ (5279)
egy hazafi Creative Commons License 2019.01.09 0 0 5280

Igen, az alert-et kíváncsiságból raktam be, hogy egyáltalán lefut-e az az ág. De nem jelenik meg az üzenet, tehát nem. Hibaüzenetet nem tapasztaltam. Akkor megpróbálom még a tanácsod alapján azt az if-et vizsgálni.

Előzmény: _szergej_ (5279)
_szergej_ Creative Commons License 2019.01.09 0 0 5279

Szvsz ideje lenne megismerkedned bizonyos (js) debuggolasi technikakkal, bar gondolom az alert() is ezt szolgalja. A kodod alapjan

- ha az alert(1) lefut, akkor ujra kellene rajzolnod a canvast vagy amire a tabortuzikon ki van rajzolva, mert gyanithatoan a tabortuzikon.kepe = tabortuz2kep; nem indukal ui frissitest

- ha az alert nem fut le, akkor passz. Van egy rakat valtozod az egerfelette fuggvenyben, vizsgald meg mindegyik tartalmat, hogy hol akad el/merre megy a vezerles (belemegy-e a fuggvenybe, a case 2-be, az ifbe stb)

- js konzolban nincs semmi hibauzenet?

Előzmény: egy hazafi (5278)
egy hazafi Creative Commons License 2019.01.08 0 0 5278

Az utóbbi kérdést már sikerült megoldanom, ezzel viszont egyáltalán nem boldogulok: azt szeretném elérni, hogy ha az egérmutató egy bizonyos objektum felett van éppen, akkor történjen valami, most pl. változtassa meg a képét. Ez a (valamiért nem működő) kódom:

 

vaszon.addEventListener("mouseover", egerfelette);
function egerfelette(eger) {
switch (aktivfelulet) {
case 2:
if (eger.clientX >= tabortuzikon.xhely && eger.clientX <= tabortuzikon.xhely+tabortuzikon.kepe.width && eger.clientY >= tabortuzikon.yhely && eger.clientY <= tabortuzikon.yhely+tabortuzikon.kepe.height) {
tabortuzikon.kepe = tabortuz2kep;
alert("1");
}

...

egy hazafi Creative Commons License 2018.12.29 0 0 5277

Sziasztok ismét!

Valaki meg tudná nekem mondani (illetve leírni), hogy a vászonra kirajzolt képre hogyan lehet kiírni egy változó értékét? Van a képeknek is külön canvas-uk, vagy  hogy lehet pontosan rájuk helyezni szöveget?

Törölt nick Creative Commons License 2018.12.08 0 0 5276

Azt a k@[;>}@ életbe!

 

Megvan a hiba.

Pedig vagy több tucatszor is átnéztem.

Ezért rühellem a paste funkciót, mert tuti, hogy valamilyen karakter lemarad.

 

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>

 

A sorból kimaradt a "min" ami még nem lenne gond, hanem a végén a "script" előtti zárókapocs hiányzott.

Törölt nick Creative Commons License 2018.12.08 0 0 5275

Sziasztok!

 

Egy ki segítség kellene, mert elakadtam.

Az Online Tutorials oldalon találtam egy responsive navbart.

Az a lényege, hogy mobiltelefonon ha rányomsz az ikonra, akkor balról behozza a menüt.

Meg ahogy a Móricka elképzeli!

 

Addig simán ment minden, amíg a javascript írásához nem értem.

Pedig betűről betűre begépeltem, minden újabb szekciónál teszteltem, minden sort többször is átnéztem.

Szintaktikai hibát nem találtam benne. Itt a rövid kód:

 

 

<script src="https://code.jquery.com/jquery-3.3.1.js"</script>
        <script type="text/javascript">
            $(document).ready(function(){
                $('.menu-toggle').click(function(){
                    $('nav').toggleClass('active')
                })
            })

 

 Ám az Istennek sem működik!

 

Valami ötlet?

egy hazafi Creative Commons License 2018.11.15 0 0 5274

Az a nyilak konstruktora. Valóban nem lehet rá kattintani, de még a 4 példányára (felnyil, lenyil, stb.) sem. :-/

Előzmény: NevemTeve (5273)
NevemTeve Creative Commons License 2018.11.15 0 0 5273

És mit jelent az 'Irnyil.' az 'addEventListener' előtt? Az 'Irnyil' egy függvény, nem lehet rákattintani.

Előzmény: egy hazafi (5272)
egy hazafi Creative Commons License 2018.11.15 0 0 5272

Igen, megnéztem a Google-nak a Vizsgálat lehetőségével (jobb kattintás), és ki is írt hibákat, hogy pl. "Irnyil.addEventListener is not a function" - tehát hogy ez nem egy függvény. Dehát akkor mi?

Egyébként itt a kódom: https://pastebin.com/dl/04WYv93H

Előzmény: NevemTeve (5271)
NevemTeve Creative Commons License 2018.11.15 0 0 5271

A hibaüzenetek a WebConsole vagy DeveloperTools/JavascriptLog vagy ilyesmi helyen láthatók, ez böngészőgüggő. Pl Firefox: https://developer.mozilla.org/en-US/docs/Mozilla/Debugging/Debugging_JavaScript

Előzmény: egy hazafi (5268)
egy hazafi Creative Commons License 2018.11.14 0 0 5270

Ezt a pastebin.com-os lehetőséget még nem is ismertem, de megfogadom ezt a tanácsodat és ki fogom használni, mert tényleg olvashatatlan az így beillesztett kód.

Az Irnyil egy, a function kulcsszóval megadott konstruktor. Maguk az iránynyilak egy addEventListener-es gombnyomás után jönnek létre 4 példányban. Majd ezeket egy setInterval-os ciklusban rajzolom ki. És akárhonnan hívnám az egérkezelést, az nem működik.

De majd holnap bélelőtt beillesztek a formázott kódomból is.

Előzmény: _szergej_ (5269)
_szergej_ Creative Commons License 2018.11.14 0 0 5269

0. javasolnam valamelyik codepaste szolgaltatast (pl. http://pastebin.com), mert igy a beillesztett kodreszleteid szinte kibogozhatatlanok. Oda feltoltod, ott van kodformazas, syntax highlighting, ide meg a kapott linket.

 

Nem derul ki, hogy az IrNyil pontosan milyen "osztaly" akarna lenni, de az addEventListener nem letezik csak ugy barmilyen "osztalyban" a nagyvilagbol (https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener).

Olyat csinalhatsz pl, hogy feliratkozol a "click" eventre, azt feldolgozod valamilyen fuggvenyben, ahol ellenorzod, hogy a kattintas koordinatai benne vannak-e valamelyik nyil bounding boxaban (hittest: https://en.wikipedia.org/wiki/Hit-testing), bongeszod js konzoljaban le is tesztelheted (pl: window.addEventListener("click", function(e) { console.log(e); }, false); )

Előzmény: egy hazafi (5268)
egy hazafi Creative Commons License 2018.11.14 0 0 5268

Azt el tudná valaki magyarázni nekem, hogy JavaScript-ben pontosan hová helyezhető el a

addEventListener("click", kattirnyilon, false);

utasítás?

Az a helyzet, hogy ezt rendelném hozzá 4 darab olyan objektumhoz, aminek van egy képe. Ezek a képek egy kiindulópontból mutatnak 4 irány felé, eképpen:

 |

-o-

 |

Tehát 4 darab nyílról van szó. Ezeknek van egy konstruktora, az IrNyil(). Van egy függvény, ami az objektumra kattintást kezeli, a kattirnyilon(). És már van egy addEventListener-em, ami a gombnyomást figyeli, és ha ez érzékeli a szóköz gomb lenyomását, akkor létrehozza a kiindulópontot, meg a 4 irányobjektumot köré:

 

window.addEventListener("keydown", gombnyomas, false);
function gombnyomas (gomb) {
 switch ( gomb.keyCode ) {
  case 32: if (jatekallapot == 0) {
  jatekallapot = 1;
  a_bunker = new Bunker();
  felnyil = new Irnyil(a_bunker.xhely+(bunkerkep.width/2)-(felnyilkep.width/2),a_bunker.yhely-felnyilkep.height,90);
  lenyil = new Irnyil(a_bunker.xhely+(bunkerkep.width/2)-(felnyilkep.width/2),a_bunker.yhely+bunkerkep.height,270);
  balnyil = new Irnyil(a_bunker.xhely-balranyilkep.width,a_bunker.yhely+(bunkerkep.height/2)-(balranyilkep.height/2),180);
  jobbnyil = new Irnyil(a_bunker.xhely+bunkerkep.width,a_bunker.yhely+(bunkerkep.height/2)-(jobbranyilkep.height/2),0);
  jatekoscsinalo(ennyijatekosdb);
  tereptargyak = [];
  jatekciklus();
};
break;
case 27: if (jatekallapot != 0) {
  jatekallapot = 0;
  while ( jatekostomb.length > 1 ) {
  jatekostomb.pop();
};
delete a_bunker;
jatekciklus();
};
break;
};
};

 

Tehát a kérdésem a teljes idegösszeomlás előtt az, hogy hova lehet elhelyezni ezt az említett kattintásos addEventListener-t? Addig rendben, hogy miután létrejöttek a nyíl objektumok, de ha odateszem utánuk, hogy: IrNyil.addEventListener... vagy: felnyil.addEventListener..., akkor nem is indul el a program. Akkor mégis hol kell figyelni az egéreseményt a programon belül?

egy hazafi Creative Commons License 2018.10.28 0 0 5267

Működött; még egyszer köszönöm a segítséget! A setInterval()-ra viszont mindenképpen szükség volt, anélkül nem mutatott semmit a Chrome-ban a program.

De adódott még egy probléma: a játékban a képernyő tetején egymással szemben jönnének be az ellenséges objektumok sorban, majd ha középen találkoznak, megállnának, megfordulnának másik sprite-ot kapva, és úgy támadnának a játékosra.

Namost ez működött is, egészen addig, míg be nem illesztettem ütközésérzékelést nekik, ami a megállást vezérelné, mikor szembetalálkoznak egymással. Ugyanis ha nem kommentelem ki ezt az ütközésérzékelő függvényt, akkor nem is mutatja őket a böngésző, hanem a hibakeresőjében a következő hibaüzenet olvasható:

Uncaught TypeError: Cannot read property 'kepe' of undefined

Tehát a kirajzoló függvényben nem találja a kirajzolandó példányt - legalábbis én így gondolom.

A játék fő ciklusában van az ellenségeket kirajzoló függvény, és elmozduláskor az hívja ezt a bizonyos ütközésérzékelést. Az ellenségeket kirajzoló függvény egy for ciklussal végigmegy az összes ellenségen, elmozdítja őket egy sebességértékkel, majd jön az ütközésérzékelő függvényem, ami így néz ki:

 

for (i = 0; i < ellensegtomb.length; i++) {
 if (ittx < ellensegtomb[i].xhely + (ellensegtomb[i].kepe).width &&
 ittx + (ellensegtomb[ez].kepe).width > ellensegtomb[i].xhely &&
 itty < ellensegtomb[i].yhely + (ellensegtomb[i].kepe).height &&
 (ellensegtomb[ez].kepe).height + itty > ellensegtomb[i].yhely &&
 ((ellensegtomb[ez].iranya != ellensegtomb[i].iranya) || (ellensegtomb[ez].mitcsinal != ellensegtomb[i].mitcsinal))) {
 return 1;
 }
};
return 0;

 

Ha innen eltávolítom valahogy az összes ellenségen végigpörgő for ciklust, akkor jó lesz minden, jönnek az ellenségek, csak éppen nem állnak meg, mert ugyebár nincs ütközésvizsgálat.

Most akkor mi lehet a baj és mi a megoldás rá? Egy objektum példányait végigvizsgáló cikluson belül nem lehet még egy ugyanolyan, vagy mi van?

Előzmény: _szergej_ (5265)
egy hazafi Creative Commons License 2018.10.26 0 0 5266

Köszönöm szépen; átírom a javaslatod mintájára; remélem, működni fog.

NevemTeve, sajnálom, hogy a behúzásokat kiszedte a fórum szövegszerkesztője; így valóban nehéz átlátni még a viszonylag rövid kódokat is. Ha legközelebb kódot kell beírnom, megpróbálom szóközökkel szebbé tenni.

Előzmény: _szergej_ (5265)
_szergej_ Creative Commons License 2018.10.26 0 1 5265

Ez nem a js logikaja, hanem altalanos "algoritmus-logika" (tehat js fuggetlen), azaz:

- a setInterval() fuggveny teljesen felesleges

- ugyancsak felesleges mindahanyszor beregisztralni a keyeventekre, a window.addEventListener("keydown", gombnyomas, false);-t boven eleg 1x meghivni (igaz nem tortenik baj amugy)

- a lenyeg, hogy a kepfrissitest nem idoziteshez kell kotni, hanem allapotvaltozashoz

 

Tehat a kododnak valahogy igy kene kineznie (nem felkeszitve bizonyos hulyegyerekek kotozkodesere):

 

...

var jatekallapot = 0; //címképernyő mutatása

window.addEventListener("keydown", gombnyomas, false);

 

function frissites() {
    rv.clearRect(0,0,vaszon.width,vaszon.height);
    switch ( jatekallapot ) {
      case 0:
        rv.drawImage(cimhatter,0,0,vaszon.width,vaszon.height);
        break;
      case 1:
        rv.drawImage(urhatter,0,0,vaszon.width,vaszon.height);
        break;
    }
}

function gombnyomas (gomb) {
   if ( gomb.keyCode == 32 ) {
      jatekallapot = 1;
       frissites();
   }
  if ( gomb.keyCode == 27 ) { //Esc gomb
     jatekallapot = 0;
     frissites();
  }
}

...

Előzmény: egy hazafi (5263)
NevemTeve Creative Commons License 2018.10.26 0 0 5264

Te most az egyik függvény belsejébe tettél bele két másik függvényt (bár azonos néven), vagy az indentálás elveszte miatt én nem látom át a programot?

Előzmény: egy hazafi (5263)
egy hazafi Creative Commons License 2018.10.26 0 0 5263

Ennél viszont tényleg megállt a tudományom: azt szeretném elérni, hogy kirajzolódjon egy háttérkép, aztán ha lenyomjuk a szóközt, akkor váltson állapotot a program és rajzoljon ki egy másik hátteret. Innen az Escape lenyomására lehessen visszatérni az eredeti képhez. De csak az első képet rajzolja ki, szóköz lenyomására semmit nem csinál. Mi lehet a baj a kódomban? Nem értem a JS logikáját netán?

 

<html>
<head>
<title>Hátteres</title>
</head>
<body>
<canvas id="rajzvaszon" width="640" height="480"></canvas>
<script>
var vaszon = document.getElementById('rajzvaszon');
var rv = vaszon.getContext('2d');
if (vaszon.width < window.innerWidth) {
vaszon.width = window.innerWidth;
};
if (vaszon.height < window.innerHeight) {
vaszon.height = window.innerHeight;
};
var cimhatter = new Image();
cimhatter.src = 'kepek/cimkep.png';
var urhatter = new Image();
urhatter.src = 'kepek/urhatter.png';
var jatekallapot = 0; //címképernyő mutatása
setInterval(frissites, 60);
function frissites() {
window.addEventListener("keydown", gombnyomas, false);
rv.clearRect(0,0,vaszon.width,vaszon.height);
switch ( jatekallapot ) {
case 0:
function gombnyomas (gomb) {
if ( gomb.keyCode == 32 ) {
jatekallapot = 1;
};
};
rv.drawImage(cimhatter,0,0,vaszon.width,vaszon.height);
break;
case 1:
function gombnyomas (gomb) {
if ( gomb.keyCode == 27 ) { //Esc gomb
jatekallapot = 0;
};
};
rv.drawImage(urhatter,0,0,vaszon.width,vaszon.height);
break;
};
};
</script>
</body>
</html>

egy hazafi Creative Commons License 2018.10.23 0 1 5262

Most már jó lett! A kód legvégén levő képkirajzoló ciklust a képernyőtörléssel együtt beraktam egy setInterval() közé, és most már működik minden. Azt hittem, a gombnyomás lekérdezést is így le kell ellenőrizni ciklusosan, és előzőleg azt is belevontam, de az nem kellett.

Előzmény: NevemTeve (5261)
NevemTeve Creative Commons License 2018.10.23 0 0 5261

Ezt most mégkevésbé értem: az előbb ott tartottunk, hogy hol az a programrész, ami kirajzolná a képet az új helyen, most pedig valahogy átváltottál erre a setInterval-ra.

Előzmény: egy hazafi (5260)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!