[JS] Objecten op verschillende vaste snelheden laten vallen

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • halper
  • Registratie: Februari 2013
  • Laatst online: 22-08-2020
Titel: objecten op verschillende vaste snelheden laten vallen*

Beste Tweakers,

Ik ben bezig met een mini game voor school en loop tegen de volgende probleem aan.

Het is de bedoeling dat ik objecten op een vaste snelheid naar beneden laten vallen.
Alleen de code die ik nu gebruikt zorg ervoor dat de snelheid van het aantal pixels waarmee het object naar beneden valt varieert. Het is juist de bedoeling dat het object op één vaste snelheid naar beneden valt. Alleen elke keer met één andere vaste snelheid.

Nu vermoed ik dat ik met deze onderstaande codes moet sleutelen om dit voor elkaar te krijgen.
Het pixel snelheid licht nu tussen de 20 en de 5. Hoe kan ik ervoor zorgen dat dit vaste snelheden worden?
Ik heb op verschillende manieren de random() code geprobeerd toe te passen maar het is me tot heden nog niet gelukt.


JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 

var object =    {   step : 0,
                    x : 200,
                    y : 200,                
                    width: 0,
                    height:0,
                    level: 0,
                    img: new Image()

                };

var moveObject = true;

previousStep = Date.now();  

if (Date.now() - previousStep > 1000/50) {      
    if (moveObject == true) {object.y += Math.floor((Math.random() * 20 + 5))  ;} 

[ Voor 7% gewijzigd door RobIII op 24-03-2015 21:50 . Reden: Code-tag gefixed... 8)7 ]


Acties:
  • 0 Henk 'm!

  • epic007
  • Registratie: Februari 2004
  • Laatst online: 07-10 10:46
Je object heeft een aantal properties: x,y level etc.. Misschien moet je een speed property introduceren?

Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 07:14

Damic

Tijd voor Jasmijn thee

@hierboven: volgens mij is dat die step, hoe groter de step hoe sneller ie verplaatst.

Dus: volgens mij hou je geen rekening met de valsnelheid van het object dat je in het begin meegeeft.

code:
1
2
3
4
5
6
7
8
9
10
create_object()
{
zet rnd()step, x, y, w, h;
load image;
}

update_objects()
{
voor elk object verplaats met de snelheid van de step
}

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
halper schreef op dinsdag 24 maart 2015 @ 21:22:
Titel: objecten op verschillende vaste snelheden laten vallen*
Doe de volgende keer even een Topic Report (klik op 'Afbeeldingslocatie: http://tweakimg.net/g/forum/images/icons/icon_hand.gif rapporteer' bovenaan een topic) ;)
Verder is het handig om even aan te geven om welke taal 't gaat (ik neem aan JS, maar toch...)

En [code=language,line,tabwidth,filename] dien je natuurlijk niet letterlijk over te nemen uit code tags 8)7
Je gebruikt het als:

[code=js,5,4,foo.js]

Dat geeft:
JavaScript: foo.js
5
6
7
function Foo() {
    console.log('bar');
}

of, kortweg:
[code=js]

Dat geeft:
JavaScript:
1
2
3
function Foo() {
    console.log('bar');
}

:Y)
halper schreef op dinsdag 24 maart 2015 @ 21:22:
Nu vermoed ik dat ik met deze onderstaande codes moet sleutelen om dit voor elkaar te krijgen.
[...]
Ik heb op verschillende manieren de random() code geprobeerd toe te passen maar het is me tot heden nog niet gelukt.
Je vermoeden lijkt me terecht. Maar als je nou ook nog even liet zien hoe/wat je dan precies iets geprobeerd had, dan konden we daar constructieve feedback op geven. Nu is je topic, in essentie, nog steeds niet veel meer dan "*kwak* dit is m'n code, het werkt niet!!11", alleen je pakt 't nu wat mooier in. Je topicstart lezend is het niet veel meer dan "Het is de bedoeling dat...zus-en-zo en het is de bedoeling dat dit-en-dat... en ik heb IETS geprobeerd maar ik laat het niet zien". Ik, en wij allemaal, zouden nou juist graag die "verschillende manieren" die je hebt geprobeerd zien om zo te zien wat je gedachtengang is en waar je (mogelijk) de fout in gaat. Ik wil je vriendelijk verzoeken daar toch (beter) op te letten.

[ Voor 72% gewijzigd door RobIII op 24-03-2015 22:01 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • halper
  • Registratie: Februari 2013
  • Laatst online: 22-08-2020
@epic007 @Damic

Ik heb net een regel code[15] toegevoegd wat er ook nog bij hoort. Is jullie reactie na dit gezien te hebben nog steeds van kracht?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
halper schreef op dinsdag 24 maart 2015 @ 22:01:
@epic007 @Damic

Ik heb net een regel code toegevoegd wat er ook nog bij hoort. Is jullie reactie na dit gezien te hebben nog steeds van kracht?
En @derestvandewereld: raad welke regel code is toegevoegd...

Denk nou eens even mee a.u.b. ;) Iets precieser, en iets meer moeite doen mag wel ;)

Overigens: Waarom zouden hun opmerkingen niet meer van kracht zijn? Die vraag kun je toch zelf ook prima beantwoorden?

edit: Nu je het regelnummer erbij gezet hebt scheelt het iig wel voor @derestvandewereld, maar het antwoord op de vraag of die regel ertoe doet is dat 't niet heel veel uitmaakt ;)

[ Voor 26% gewijzigd door RobIII op 24-03-2015 22:06 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Millennium
  • Registratie: Augustus 2000
  • Laatst online: 12-10 11:13

Millennium

Bug free !!!

Rampen bak 2004


Acties:
  • 0 Henk 'm!

  • stimpie79
  • Registratie: Juni 2003
  • Laatst online: 18-09 16:28
ik zal je even op weg helpen:

Vallen betekent het verhogen van de object.y waarde.
Op dit moment vallen ze met een willekeurige snelheid tussen 5 en 20.

object.y += Math.floor((Math.random() * 20 + 5))

hoe zou je nou een vaste waarde bij object.y kunnen optellen...
hint 1: random hoort er niet bij, want dat wil je net niet...
hint 2: bekijk even wat "+=" doet


Valt hij al? ;)

Acties:
  • 0 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Nu online
5 en 25 ;)
Pagina: 1