View Full Version: Tietyn objectin etsintä

Game Maker Suomi > Apua Game Maker -peleihisi > Tietyn objectin etsintä


Title: Tietyn objectin etsintä
Description: variablen perusteella


Murska - November 9, 2005 06:44 PM (GMT)
Mitenkä siis menis sellainen koodi jolla saisi sen "pointti_vapaa" objectin id:n joka on lähinnä kysyvää objectia ja sen muuttujan "arvo" = 1?

Edit: Muuttelin vähän et saa selvää ;)

Onion King - November 9, 2005 07:09 PM (GMT)
En oikein ymmärtänyt kysymystäsi, pointti_vapaa hämäsi. Tarkoitatko, että haluat koodin, jolla saa selville lähimmän objektin, jonka tietyn muuttujan arvo on 1?

Jontte - November 10, 2005 06:47 AM (GMT)
Siinä pitää käydä kaikki objektit läpi jollain loopilla ja tehdä niistä lista eteisyys järjestykseen. Sitten vielä poistaa listasta objektit joiden "arvo" != 1. Sitte vaan annetaan listasta ylimmäinen objekti.

Teen tän sulle kun tuun töistä kotiin :lol:

viestituote - November 10, 2005 02:09 PM (GMT)
CODE
var instance,object,list,ret,value,variable;
instance = self.id;
object = argument0;
variable = argument1;
value = argument2;
list = ds_priority_create();
nearest = noone;
with (object) {
   if variable_local_get(variable) == value
   {
       ds_priority_add(list,id,sqr(x-instance.x)+sqr(y-instance.y));
   }
}
ret = ds_priotity_find_min(list);
ds_priority_destroy(list);
return ret;
Testaamaton skripta, muokkasin nopeasti tuosta N:nnännes lähin instance -skriptasta jonka googletin: http://forums.gamemaker.nl/index.php?showtopic=140467

Argumentit on järjestyksessä seuraavat: objekti joita tahdot etsiä, muuttujan nimi striginä (huom, siis string. "pointti_vapaa", ei pointti_vapaa) ja viimeisenä se haettu arvo.

Kerro jos toimii.

Murska - November 10, 2005 03:01 PM (GMT)
Muuten hyvin toimii paitsi, että mitä tuo scripti sitten palauttaa jos yhtään osumaa ei löydy? Objectin josta sitä kutsutaan x ja y position? Toisaalta ei tuolla mitään väliä ole....

ja kiitos!

Jontte - November 10, 2005 07:51 PM (GMT)
Joo aivan noin olin itsekkin tekemässä.
Priority queuet on hyviä :P




* Hosted for free by InvisionFree