jQuery: An- und Ausschalter programmieren mit einer Variablen Programmieren?

Ich muss folgende Aufgabe lösen:

"Beim Überfahren des großen Bildes wird die Grafik „bild1.jpg“ gegen die Grafik „bild2.jpg“ ausgetauscht – beim Verlassen des Bildes wird die ursprüngliche Grafik wieder angezeigt.

Dieses Austauschen funktioniert aber nur, wenn zuvor der Ausschalter mit einem Klick „angeschaltet“ wurde – Grafiktausch mit Datei „schalterein.png“. Wird der Schalter wieder ausgeschaltet, dann geht auch die Mouseover-Funktionalität nicht mehr. Wichtig: Arbeiten Sie mit einer Variablen namens schalter."

Bei dem Schalter handelt es sich um ein Image und keinen Button.

Der erste Teil der Aufgabe - der Grafiktausch beim Hovern - ist kein Problem.

Den Schalter bekomme ich aber nicht programmiert. In anderen Aufgaben haben wir immer einen separaten An- und Ausschalter programmiert, bisher nicht beides zusammen und ich komme einfach nicht auf eine Lösung.

Bisher habe ich nur den Anschalter programmiert (kann natürlich falsch sein):

var Schalter=0;

$("img:eq(2)").click(function (){ Schalter=1; $("img:eq(2)").attr("src","schalterein.png"); })

Wenn man wieder auf das Schalter img klickt soll der Schalter=0 werden, das Bild soll sich wieder ändern & somit wäre er ausgeschaltet.

Ob der Schalter auf 0 oder 1 steht dient zur Abfrage um den Hover Effekt/ Grafiktausch zu aktivieren bzw. deaktivieren.

Kann auch sein, dass mein Ansatz total falsch ist. Ich hoffe jemand kann mir hier weiterhelfen.

...zum Beitrag

Die Variable schalter sollte ein boolscher Ausdruck sein (true oder false), der angibt, ob der Schalter ein (true) oder aus (false) ist.

Beim Klick auf irgendein Objekt (vermutlich ein Bild) mit der Klasse "schalter" änderst du dann die Variable schalter auf entweder true oder false (je nachdem, was es vorher war). Außerdem ändert sich das Bild auf "schalterein.png".

Dann fügst du beim Bild (hier mit der Klasse "image") noch einen hover Handler hinzu, der Funktionen beim mouse-enter und mouse-leave ausführt.

Wenn ihr noch ein Bild für den ausgeschalteten Schalter habt (geht nicht aus der Angabe hervor), dann musst du das beim Klick auf "schalter" noch einbauen.


var schalter = false;

$("#schalter").click(
function() {
schalter = !schalter;
$("#schalter").attr("src", "schalterein.png");
}
);

$("#image").hover(
function() {
if (schalter) {
$("#image").attr("src", "bild2.png");
}
},
function() {
if (schalter) {
$("#image").attr("src", "bild1.png");
}
}
);



...zur Antwort
Ein 14-jähriger der ein Spiel programmieren will?

Guten Tag und an jeden Vater der das liest: happy fathersday^^ ich habe letztens meinen alten nintendo DS herausgeholtund da das spiel Harvest Moon: DS gerade drin war, bin ich nach ein paar tage schon wieder in die hm sucht gekommen^^ (3 jahre in ca. 1 woche spielzeit) dann habe ich gesehen, dass "stardew valley" im steam markt erschienen ist und habe es mir direkt gekauft. da es mich sehr an harvest moon / rune factory erinnert hat,hab ich ein bisschen gegoogelt und ich habe herausgefunden dass das ein einziger entwickler "gemacht" hat und da ich selbst viel mit Technik & software zutun habe, habe ich mich entschieden meinen eigenen remake / mix dieser spiele zu entwickeln und daraus etwas neues zu machen.Dabei habe ich aberdas Problem, dass ich bisher nur mit java gearbeitet habe und ich daher noch keinen wirklichen anhaltspunkt habe was engine und programmiersprache angeht... der Grund warum ich hier nach Rat frage. ich hoffe mal jeder weiß wie Harvest moonDS oder stardew valley aufgebaut ist ) level design interface etc) und ich frage daher nach ausgebildeten fachinformatikern (oder wer immer auch mir etwas helfen kann :D) die mir ein paar einsteigertipps und/oder ratshläge zur programmiersprache geben können. Da ich das wirklich zuende bringen möchte (ich habe bis jetzt ein konzept-buch schon voll mit ideen, brainstorming und vorgehensweisen gefüllt was story & inhalt angeht) und später auch bei Steam zum download für wahrscheinlich 5-6€ anbieten möchte, brauche ich auch eine engine, die das erlaubt und bei der das auch funktioniert. sie sollte am besten auch wenig bis garnichts verlangen für die veröffentlichung bzw nutzung des programms, da ich mir das zurzeit kein stück leisten kann(10€ im monat). Andererseits gibtes eventuell möglichkeiten wie mit bspw groundfunding spenden sammeln zu können? wenn ja wie funktioniert das? wie kann man es überzeugend gestalten und was muss man für spenden den Investierenden geben(ich hätte zurzeit schon ein paar alpha-texturen wie ein paar portraits für Händler und eine gezeichnete version von der später (hoffentlich) gut umgesetzten map. ich schreibe hier schon wieder viel zu viel :/... naja ich bin für jede konstruktive hilfe dankbar :)

...zum Beitrag

Für dein Vorhaben würde ich dir auf jeden Fall RPGMaker (oder ähnliches, aber zu diesem speziellen wirst du online garantiert viele Hilfestellungen finden) empfehlen.
Da du (vermutlich) keine Programmierkenntnisse hast, ist dir mit so einem Tool sicherlich am besten geholfen.

Wenn es ein wenig aufwendiger sein darf, kannst du auch Unity verwenden.
Die Basics sind recht einfach zu erlernen (aber auf jeden Fall komplexer als RPGMaker, hier brauchst du Kenntnisse über die Engine und UnityScript/C#) und es gibt auch sehr guten Support für die Entwicklung.

Mit der UnrealEngine hab ich noch keine Erfahrungen, aber die scheint auch für einfachere Spiele geeignet zu sein.

...zur Antwort

Du musst ja nicht den unübersichtlichen Quellcode durchsuchen, sondern einfach die übersichtliche Dokumentation.

http://www.chartjs.org/docs/#line-chart-chart-options

...zur Antwort

Möglich sicherlich, sinnvoll aber nicht, solange du einen Beruf außerhalb der Forschung anstrebst.

Gerade in der Informatik lernt man in der Berufspraxis viel mehr als in jeder Uni-Lehrveranstaltung. Mit einem Doppeldoktor bist du dann für so gut wie jeden Job am Papier überqualifiziert, hast aber vermutlich immer noch keine (ausreichende) Erfahrung in Softwareentwicklung oder Projektmanagement.

Ein Master (oder Dipl.Ing.) macht da viel mehr Sinn, vor allem, weil man während des Studiums schon Erfahrung mit einer Arbeit sammeln kann.

Möchtest du unbedingt in die Forschung, empfehle ich dir, dich für eines der beiden Gebiete zu entscheiden und dieses umso aktiver zu verfolgen.

Von einem finanziellen Standpunkt aus gesehen ist das Informatik-Studium mit einem Job außerhalb der Forschung definitv die sicherere Variante.

Ich stand vor 5 Jahren vor demselben Problem, habe mich für Informatik/Softwareentwicklung entschieden und bin jetzt sehr froh darüber.

...zur Antwort

Mit dem HTML5 audio Tag und mouse events.

<audio id="mysound" controls>
<source src="sound.mp3" type="audio/mpeg">
</audio>
<button onmouseover="document.getElementById('mysound').play()"
onmouseout="document.getElementById('mysound').pause()">
Hover me!
</button>
...zur Antwort
Gibt es eine Methode in Java, mit der Tastendruck abgefragt werden kann?

Guten Abend,

ich arbeite momentan an einem Projekt für die Schule, nämlich Pong (https://de.wikipedia.org/wiki/Pong), für welches ich die sogenannte Shapes and Sprites Bibliothek verwende, welche für zweidimensionale Projekte im Rahmen des schulischen Unterrichtes gedacht ist.

Soo, nun habe ich das grundlegende Spiel fertig programmiert und bin gerade dabei, einige neue Features zu implementieren, zu denen unter Anderem ein Computergegner gehört. Um das zu realisieren habe ich mir gedacht, dass wenn der Benutzer die Taste c drückt, der rechte Schläger nicht mehr über die Pfeiltasten (Über diese wird der Schläger nämlich bedient) erreichbar ist. Nun besteht die Möglichkeit, mittels der Methode tastaturobjekt.isPressed('c') abzufragen, ob die Taste c gedrückt wird.

Nun habe ich sowohl mit einem Integer computer = 0, dessen Wert einfach um 1 erhöht wird, wenn c gedrückt wird, als auch mit einem Boolean, über eine If-Verzweigung mit der Bedingung, dass der Integer-Wert = 0 bzw der Boolean istGedrueckt = false ist, den Schläger angewiesen, bei Druck der Pfeiltaste gedrückt zu werden, also quasi wie folgt:

 if(tastatur.down() && schläger2.getShapeY()<495 && (istGedrueckt == false)){
        schläger2.move(0,10);
    }

(getShapeY gibt hierbei die Y-Koordinate des Objekts an)

Nur leider besteht hierbei das Problem, dass der Schläger nur dann nicht mehr manuell bewegt werden kann, wenn C tatsächlich gedrückt gehalten wird und nicht nach einmaligem Druck. Deshalb lautet meine Frage, ob das JDK vielleicht eine Möglichkeit mit sich bringt, nach Möglichkeit ohne zehntausend andere Bibliotheken, einen Tastendruck zu überprüfen.

Das soll keine Bitte sein, meine Hausaufgaben zu erledigen, ich will keinen konkreten Quelltext für mein Projekt, sondern bitte einfach nur eine Antwort auf diese mehr oder weniger (ich hoffe) simple Frage, da Google mir dabei leider keine besonders hilfreichen Ergebnisse geliefert hat.

Liebe Grüße, Adrian.

...zum Beitrag

Du solltest einfach einen boolean erstellen, der angibt, ob der Computergegner aktiv ist. Dann überprüfst du bei der Steuerung von Spieler 2, ob das der Fall ist.

if steuerung_für_spieler_2
if !computergegner_aktiv
bewege_spieler_2
if computer_gegner_aktiv
bewege_computer
if c_gedrückt
if computergegner_aktiv
computergegner_aktiv = false
else
computergegner_aktiv = true

Mit 'C' schaltest du dann einfach zwischen diesen Modi um. So könnte auch direkt in einem Spiel zwischen Computergegner und menschlichem Spieler 2 umgeschalten werden.

...zur Antwort
BlueJ - illegal start of expression. Wo liegt der Fehler?

Hallöchen, wir habe in der Schule vor kurzem mit dem Programmieren angefangen und dazu benutzen wir "BlueJ" und die Klassenbibliothek "Stifte und Mäuse".

Nun habe ich allerdings ein Problem und weiß nicht mehr weiter: In der Klasse Polygon bekomme ich in der Zeile mit "public void zeichne()" eine Fehlermeldung und zwar "illegal start of expression".

import sum.kern.*;

public class Polygon
{
    // Referenzen
    Stift meinStift;
    Polygon meinPolygon;
    Polygon meinPolygon1,meinPolygon2;

    // Konstruktor
    public Polygon(int pN,int pLaenge,int pHPosition,int pVPosition,int pWinkel)
    {
        // Objekte
        meinStift = new Stift();
        this.zeichne(pN, pLaenge, pHPosition, pVPosition, pWinkel);

        // Methoden
        public void zeichne() 

        meinStift.bewegeBis(pHPosition,pVPosition);
        meinStift.dreheUm(pWinkel);
        meinStift.runter();
        meinStift.bewegeUm(pLaenge);
        meinStift.dreheUm(-120);
        meinStift.bewegeUm(pLaenge);
        meinStift.dreheUm(-120);
        meinStift.bewegeUm(pLaenge);

        meinStift.bewegeBis(pHPosition,pVPosition);
        meinStift.dreheUm(pWinkel);
        meinStift.runter();
        meinStift.bewegeUm(pLaenge);
        meinStift.dreheUm(-120);
        meinStift.bewegeUm(pLaenge);
        meinStift.dreheUm(-120);
        meinStift.bewegeUm(pLaenge);
    }
}

Und die oben genannte Klasse Polygon soll auf die Klasse Steuerung "basieren". Liegt vielleicht hier der Fehler?

import sum.kern.*;

public class Steuerung
{
    // Referenzen
    Bildschirm meinBildschirm;

    // Konstruktor
    public Steuerung()
    {
        // Instanzvariable initialisieren
        meinBildschirm = new Bildschirm(800, 800);

        //methoden

        meinStift.bewegeBis(pHPosition,pVPosition);
        meinStift.dreheUm(pWinkel);
        meinStift.runter();
        meinStift.bewegeUm(pLaenge);
        meinStift.dreheUm(-120);
        meinStift.bewegeUm(pLaenge);
        meinStift.dreheUm(-120);
        meinStift.bewegeUm(pLaenge);

        meinStift.bewegeBis(pHPosition,pVPosition);
        meinStift.dreheUm(pWinkel);
        meinStift.runter();
        meinStift.bewegeUm(pLaenge);
        meinStift.dreheUm(-120);
        meinStift.bewegeUm(pLaenge);
        meinStift.dreheUm(-120);
        meinStift.bewegeUm(pLaenge);
    }
}

Ich würde mich sehr freuen, wenn mir jemand helfen würde.

...zum Beitrag

Die Methode "zeichne" wird im Konstruktor definiert und dabei fehlt noch dazu die Klammersetzung um den Methodenkörper.

Definiere die Methode außerhalb und vergiss die Klammern nicht.

...zur Antwort

Du musst dem Button sagen, was er machen soll, sobald er geklickt wird. Zum Beispiel könntest du ein onclick-Event abfangen.

<input id="zahl1" type="number" /><br />
<input id="zahl2" type="number" /><br />
<button onclick="listNumbers()">Los geht's!</button>

<div id="liste"></div>

<script>
function listNumbers() {
var zahl1 = document.getElementById("zahl1").value;
var zahl2 = document.getElementById("zahl2").value;

document.getElementById("liste")
.innerHTML = zahl1 + " " + zahl2;
}
</script>


...zur Antwort

Die Weite änderst du per Zugriff auf das width Attribut des progress bar.

document.getElementById("progress-bar-id").style.width = "100%";

Damit die Animation langsamer abgespielt wird, verwendet du am besten die transition-duration property von CSS3. Die Art, wie sich der Balken füllen soll (gleichmäßig schnell, linear steigend, eigene Bezier-Kurve) definierst du mit der transition-timing-function property. 
(Achtung: Wird von IE9 abwärts nicht unterstützt!) 
Mehr Info: http://www.w3schools.com/cssref/css3_pr_transition-timing-function.asp

#progress-bar-id {
 transition-duration: 2s;
transition-timing-function: linear;
}

Mit Hilfe der setTimeout Methode kannst du den Start verzögern.

setTimeout(function(){ document.getElementById("progress-bar-id").style.width = "100%"; }, 2000);
...zur Antwort

Schaffbar auf jeden Fall. Ich habe nur Informatik studiert und nebenbei wäre noch Zeit für ein zweites Studenfach gewesen (auch wenn sich dann alles vielleicht um 1 Jahr verzögert hätte..).

Da du aber in diesem Alter vielleicht auch bald ausziehen wirst und deinen Eltern finanziell ein wenig entgegenkommen könntest, wäre es viel sinnvoller, diese verfügbare Zeit einem Job zu widmen.

Gerade bei Informatik ist Berufserfahrung sehr gefragt und deshalb schadet es nicht, so früh wie möglich diese zu sammeln oder in seiner Freizeit an privaten Projekten zu arbeiten.

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.