2016-09-08 3 views
0

Ich versuche eine Slotmachine zu machen. Ich bin ein Anfänger in Javascript.wie man den Spielautomaten dreht und den Wert gibt?

Ich machte drei Steckplätze und wollte dann den Steckplatz drehen. Ich habe 'setInterval' verwendet, um es zu drehen.

function drawSlot1(){ 
    var slot1Value = document.getElementById('slotImage1'); 
    var r1 = Math.floor(Math.random() * 9); 
    slot1Value.src = "graphics/" + fruitArray[r1] + ".jpg"; 
} 
setInterval(drawSlot1, 100); 
setTimeout(slotTimeout1, 2000); 

und mit console.log versucht, den Wert von slot1Value zu sehen.

Es gab mir alle Werte, die während des Intervalls generiert wurden. In ähnlicher Weise werden auch die anderen zwei Schlitze auf die gleiche Weise hergestellt. Jetzt möchte ich, dass es nur den letzten Wert (Wert nach Drehstopps) in allen drei Slots gibt, so dass ich die erzeugten Werte vergleichen und für die Auswertung verwenden konnte, sowie die Tasten NUDGE und HOLD aktivierte. Wie mache ich das? Jede Hilfe wird sehr geschätzt.

+0

Es gibt viele Möglichkeiten, diese Animation zu machen - ohne zu wissen, was Sie (Dritter Frameworks vs. Ebene js) verwenden wollen, ist es schwer, eine richtige Antwort zu geben, . Daher nur eine Idee: Star twith erzeugt den aktuellen + den nächsten Wert und hängt die Bilder übereinander. Jedes andere generierte Bild sollte wieder über den anderen liegen. Alles was Sie dazu brauchen, ist, es "nach unten" zu bewegen. Sie benötigen dazu natürlich einen Container mit Überlauf. Wahrscheinlich solltest du auch mit dem Löschen der bereits gezeigten Bilder umgehen. –

+0

Ich weiß deine Antwort zu schätzen, aber da ich erwähnt habe, dass ich ein Anfänger bin, ist deine Lösung ein bisschen schwierig für mich. Kann ein Stück Code sein, um Wert zu speichern, wenn Intervall für 0,1 Sekunden beginnt und nach 2 Sekunden stoppt, wie dieser Code sagt –

+0

Deshalb ist es ein Kommentar und keine Antwort :) Ihre Frage ist nicht sehr spezifisch - Sie haben tatsächlich zwei sehr unterschiedliche Fragen - eine über Anymation und eine über Javascript. Daher ist es schwer zu beantworten –

Antwort

0

Wenn ich Sie Ihre Problembeschreibung richtig verstanden habe, wäre die Lösung, den Wert r1 (von der drawSlotX-Funktion) auf globale Variable oder breiter als die drawSlot-Funktion zu speichern.

var solt1NumericValue; 

function drawSlot1() 
{ 
    var slot1Value = document.getElementById('slotImage1'); 
    var solt1NumericValue = Math.floor(Math.random() * 9); 
    slot1Value.src = "graphics/" + fruitArray[solt1NumericValue] + ".jpg"; 
} 

Wenn Sie Ende reach Spinnen Sie den Wert solt1NumericValue überprüfen können. Es sollte den Wert speichern, der während des letzten Intervallaufrufs eingestellt wurde.

und eine Probe zum Animieren der Spin: https://jsfiddle.net/spwwtzcd/1/

+0

Ich denke, das löst nur einen Teil der Frage. Der zweite Teil handelt von der Animation. –

+0

Ich sehe, Sie haben bereits eine Lösung dafür in Ihrem Kommentar vorgeschlagen - das ist in Ordnung für mich. Lässt sehen, welche Frage der Autor beantworten wird. –

+0

werden Sie schauen, was habe ich getan? Auf diese Weise können Sie den Fehler in kürzester Zeit herausfinden und wären eine große Hilfe für mich. –

Verwandte Themen