Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

m3xx

Alter Hase

  • »m3xx« ist der Autor dieses Themas

Beiträge: 434

Beruf: Student

  • Private Nachricht senden

11

20.08.2012, 15:57

Puh mit JS, nicht so mein Ding. Naja irgendwie wird ich mich da durchgewühlt kriegen.
@BlueCobold nein nicht weil es cool ist, sondern damit man wartet. Das möchte ich, da niemand sowie so "readme.txt" durchliest. Ist es da nicht besser den Text so einzubinden, da es dann um einiges wahrscheinlicher ist, dass es gelesen wird als in einer readme?

Linsodethe könntest du denn ein paar Details preisgeben? Denn das klingt nachdem was ich suche und auch noch am schönsten :)

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

12

20.08.2012, 16:21

Das möchte ich, da niemand sowie so "readme.txt" durchliest. Ist es da nicht besser den Text so einzubinden, da es dann um einiges wahrscheinlicher ist, dass es gelesen wird als in einer readme?


Hahaha... glaub mir die wird auch niemand lesen wenn er zum Warten gezwungen wird. Dann geht man auf nen anderen Tab und surft weiter. Wenn der Download fertig ist, sieht man das ja eh im Browser.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

13

20.08.2012, 16:23

AJAX benutzt Java Script. Ohne wird es wohl nicht gehen. Bzw ohne wäre es nur aufwendig und schwachsinnig. Jemandem vorzuschreiben einen Text zu lesen ist denke ich in den meisten Fällen nicht sinnvoll. Geht es allein um Informationen für den Nutzer, die er für den Gebrauch deiner bereitgestellten Software oder deines bereitgestellten Spiels braucht? Wenn ja, dann sollte man selbst entscheiden können, ob man sich das durchlesen will. Zum Beispiel kennt man dein Spiel schon und will es kurz bei einem Bekannten laden und muss erst warten, obwohl man den Text schon kennt. Normal reicht eine Readme Datei aus. Wenn man sie nicht lesen möchte, muss man ja selbst mit den Konsequenzen des nichtlesens leben. Mach dir also vielleicht erst darüber Gedanken, ob das der richtige Weg ist. Vielleicht ist es auch eine Möglichkeit diesen Hilfstext in dein Spiel selbst einzubauen. Wenn du das mit dem warten unbedingt so lösen wollen solltest, solltest du dem Benutzer die Möglichkeit geben, auf einen Link für einen Direktdownload klicken zu können.
Umgehen kann man das normalerweise alles, aber am einfachsten wäre ein Timer, dieser läuft runter und aktualisiert jede Sekunde seinen Zeitwert den er anzeigt. Nach der Zeit wird der Link für den Download eingeblendet. Das alles ist mit Javascript schnell gelöst.
Einfach bei Google nach einem Timer Events suchen. Weiterhin musst du noch gucken wie du Elemente ein- und ausblenden kannst. Sollte alles mit ein wenig Google fix gelöst sein.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

m3xx

Alter Hase

  • »m3xx« ist der Autor dieses Themas

Beiträge: 434

Beruf: Student

  • Private Nachricht senden

14

20.08.2012, 16:29

Naja ich habe einen Fall da sollte die readme unbedingt gelesen werden, da man seinen PC sonst blockt und den nur noch mit etwas Zeit und ein wenig Mühe wieder entlockt kriegt, aber dabei handelt es sich nicht um ein Virus sondern um ein Tool das genau dieses bezwecken soll. Bei mir geht es nicht um ein Spiel sondern um Software um auf deine Frage einzugehen ;)
Außerdem möchte ich hier keinen übertriebenen Zeitkilller haben sondern einen Timer von etwa nur 5-10sec.

LInsoDeTeh

Treue Seele

Beiträge: 372

Wohnort: Essen, Deutschland

Beruf: Team Lead Inhouse-Entwicklung

  • Private Nachricht senden

15

20.08.2012, 16:30

OK, ich tippe jetzt hier einfach mal etwas ganz trocken rein, ungetestet (kann sein, dass einzelne Befehle oder CSS-Werte leicht anders heißen), aber so in etwa läufts.



Die seconds-Variable (im Javascript-Teil) enthält deinen Sekunden-Counter für den Download.

Quellcode

1
var seconds = 10;




Dann brauchst du in HTML Code ein Span, in dem du die Zeit anzeigst und einen unsichtbaren iframe (irgendwie hat das Forum probleme mit spitzen Klammern, musst natürlich die HTML-typischen spitzen Klammern einsetzen statt den runden):



Quellcode

1
(span id="spanxyz") Noch 10 Sekunden bis zum Download(/span)(iframe id="framexyz" style="width: 0px; height: 0px; visibility: hidden;")(/iframe)




Hier ist dann die JS-Funktion, die du in deinem Downloadlink statt dem direkten Ziel aufrufst.

Diese prüft, ob die Sekundenzahl schon abgelaufen ist. Wenn nicht, ruft sie sich eine Sekunde später selbst erneut auf, wenn ja, startet sie den Download.

Die lässt sich natürlich noch beliebig parametrisieren mit Downloadzielen usw, falls du mehrere Downloads anbieten willst.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function loadDownloadTimer()

{ 

 if (seconds == 0) { 

 document.getElementById("framexyz").src = "... download.zip ..."; //könnte auch href statt src heißen, probier mal aus 

 seconds = 10; 

 document.getElementById("spanxyz").innerHTML = "Download startet"; 

 } else { 

 seconds--; 

 document.getElementById("spanxyz").innerHTML = "Noch " + seconds + " Sekunden bis zum Download"; 

 window.setTimeout(" loadDownloadTimer;", 1000); 

 } 

}

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

16

20.08.2012, 16:30

Wie Schorsch schon gesagt hat: Wenn man die Readme nicht liest dann muss man halt mit den Konsequenzen leben

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

17

20.08.2012, 16:45

Sehe ich auch so. Dazu zwingen wirst Du niemanden und wer nicht hören (lesen) will, der ist selbst Schuld. Man nutzt kein Tool einfach mal ohne zu wissen, was es tut und wie man es richtig nutzt.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

CodeBase

Treue Seele

Beiträge: 98

Wohnort: Österreich -> Salzburg

Beruf: Datenbank Entwickler

  • Private Nachricht senden

18

20.08.2012, 17:01

Machs mit JQuery da musst dich um Browserversionen nicht alzuviel kümmern.

Als Bsp.

http://api.jquery.com/delay/

Werbeanzeige