dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

FMOD - problēmas
Goto page Previous  1, 2
 
dev.gamez.lv Forum Index -> Skaņa un mūzika
View previous topic :: View next topic  
Author Message
EDDY



Joined: 07 Oct 2005
Posts: 1610
Location: Dzimtā zeme, Latvija

PostPosted: Mon Jul 24, 2006 11:03 am    Post subject:

Tev tipa UML sheemas paraadiit? Laughing

Izkartojumu es jau aptuveni tev radiju.
1. Ir klase Demo, kas ir galvenaa klase, kura izpilda visas darbibas.
2. Ir klase Modelis, kas veido anime modeli.

Saprotams, ka visi funkciju prototipi ir ieksh Demo.h un Modelis.h attiecigi, bet Demo.h ir galvenais, kuraa sabaastas arii taas fiichas, kas attiecas uz citaam klaseem un funkcijaam.

Tagad rodas jautajums, kur to FMOD tad iisti defineet.
Veidot jaunu friend veida klasi klasei Demo un tur defineet?
Man liekas mees te visi ieliidisim purvaa .....
_________________
Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday
Back to top
View user's profile
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Mon Jul 24, 2006 11:41 am    Post subject:

Definē tur, kur pašam ērtāk piekļūt un lietot. Apnika man ar tevi ņemties. Ja nesaproti, ko es tev prasu, tad nu.. man trūkst vairs vārdu.
Back to top
View user's profile Send e-mail
EDDY



Joined: 07 Oct 2005
Posts: 1610
Location: Dzimtā zeme, Latvija

PostPosted: Mon Jul 24, 2006 1:04 pm    Post subject:

Miers, Bubu! Wink
Njemshu veraa tavu teikto... tagad ne.
_________________
Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday
Back to top
View user's profile
elvman
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 09 Apr 2003
Posts: 1278
Location: Kuldiga

PostPosted: Mon Jul 24, 2006 7:14 pm    Post subject:

Lai Dievs apgraabstaas!Tas jau vairs pat nav smiekliigi.Speciaali prieksh tevis EDDY nokachaaju to FMOD.Zini?Tur naak liidzi taads fails kaa fmodex.chm. No paplashinaajuma saprotams,ka tas ir help fails.TUR VISS IR RAKSTIITS!IZLASI!

Bet nu ja probleemas ar peedeejo ieteikumu,tad luudzu:
Code:
//shis izmet tekstu,ja ir notikusi kljuuda (konsolee)
#define ERR(result) \
  if (result != FMOD_OK) \
  {\
    printf("FMOD error! (%d) %s\n", result, FMOD_ErrorString(result));\
    exit(-1);\
  }

FMOD_RESULT result; //tebuus tie globaalie mainiigie
FMOD::System *system;

int main()
{
result = FMOD::System_Create(&system);//atveram FMOD sisteemu
ERR(result);

result = system->init(100, FMOD_INIT_NORMAL, 0);//init'ojam to
ERR(result);

FMOD::Sound *sound;
result = system->createSound("../media/wave.mp3", FMOD_SOFTWARE, 0, &sound);//Ielaadeejam skanju
ERR(result);

FMOD::Channel *channel;
result = system->playSound(FMOD_CHANNEL_FREE, sound, false, &channel); //dabuujam channel
ERR(result);

result = channel->setPaused(false);//un te mees saakam speeleet skanju
ERR(result);

return 1;
}

Negaranteeju,ka kods ir bez kljuudaam,bet nu vairaak mutee vairs nevar iebaazt.
_________________
long time; /* know C */


Last edited by elvman on Mon Jul 24, 2006 7:24 pm; edited 2 times in total
Back to top
View user's profile Visit poster's website
elvman
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 09 Apr 2003
Posts: 1278
Location: Kuldiga

PostPosted: Mon Jul 24, 2006 7:22 pm    Post subject:

Aaa ok.Liidz galam veel mutee neiebaazu.

Ievieto savaa kodaa ko liidziigu shim:
Code:
while(SisteemaDarbojas())
{
result=system->update(); //updateojam sisteemu
ERR(result);
}

_________________
long time; /* know C */
Back to top
View user's profile Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Mon Jul 24, 2006 8:57 pm    Post subject:

elvman - tu ko!? Īsti vīri manuāli nelasa.
Back to top
View user's profile Send e-mail
EDDY



Joined: 07 Oct 2005
Posts: 1610
Location: Dzimtā zeme, Latvija

PostPosted: Tue Jul 25, 2006 9:47 am    Post subject:

Nu, un ko dod man tavs piemers, kuru esmu jau apskatiijis un apkodeejis simtiem reizhu? Pareizi! Neko!
Visu, ko esi, Elwman, uzrakstijis, to visu es jau zinu.
Zinu, ari, ka peedejo posta kodu NEVAJAG lietot. Arii bez taa darbojas.

Cita lieta, ja tu izveidotu speciaalu friend klasi Demo klasei.
Taa kaa neviens to nedariis, tad es pats tikshu galaa.
Paldies Bubu par sakariigo namespace veidoshanu, to es nezinaaju, ka taa var.
_________________
Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday
Back to top
View user's profile
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Tue Jul 25, 2006 9:56 am    Post subject:

B**n, tu tak esi viens liels āksts. Vai tu saproti, ka neviens izņemot tevi pašu nezin kādu klasi tev vajag, tb ar kādu struktūru, metodēm? Es tiešām nesaprotu, kur te tev ir kāda problēma. Vai klases veidošanas sintaksi nezini? Kā jau iepriekš teicu - pasaki precīzi ko tev vajag, kādu klasi, kādas metodes, UN PASAKI ko tu esi izveidojis PATS, un kādas kļūdas met kompilators, ja jau tev kautkas nesanāk. Nevienam nav nekāda prieka visu priekšā rakstīt. Taču palīdzēt gan labprāt var.

Vai šo tu nemāki: ?
(rakstu no elvman koda piemēra, tāpēc var gadīties kāda sintaktiska kļūda izsaucot FMOD API).
Code:
class UuuberFMODSystem
{
public:
    UuuberFMODSystem();
    ~UuuberFMODSystem();
   
    FMOD::Sound* openSound(const std::string& name) const;
    void playSound(FMOD::Sound* sound) const;
   
private:
    FMOD::System* m_system;
};

UuuberFMODSystem::UuuberFMODSystem()
{
    FMOD::System_Create(&m_system);
    m_system->init(100, FMOD_INIT_NORMAL, 0);
}

UuuberFMODSystem::~UuuberFMODSystem()
{
    // te jāatbrīvo m_system
}
   
FMOD::Sound* UuuberFMODSystem::openSound(const std::string& name) const
{
    FMOD::Sound* sound;
    result = m_system->createSound(name.c_str(), FMOD_SOFTWARE, 0, &sound);
    return sound;
}

void UuuberFMODSystem::playSound(FMOD::Sound* sound) const
{
    FMOD::Channel* channel;
    m_system->playSound(FMOD_CHANNEL_FREE, sound, false, &channel);
    channel->setPaused(false);
}

Protams, tikai jāsaliek visādas kļūdu pārbaudes, un resursu atbrīvošāna - channel, sound, utt.. Tāpēc jau tev saka, lai parādi ko tev vajag, nevis tikai saki, man vajag klasi, man vajag klasi, kāpēc neviens nekā neraksta?
Back to top
View user's profile Send e-mail
EDDY



Joined: 07 Oct 2005
Posts: 1610
Location: Dzimtā zeme, Latvija

PostPosted: Tue Jul 25, 2006 11:05 am    Post subject:

Sasodiits, Bubu ..... tu esi professionals programmetajs.
Ja tev cilveeks saka - man ir klase Demo, kas skaitaas galvenaa klase, kas kontrolee visu notiekosho.
Ja cilveeks tev veel saka - vajadzetu izveidot FMOD_Ubertruber friend klasi prieksh klases Demo. Tev nepielec kaa profim?
Man vajag pieklut visaam klases Demo funkcijaam, tapec arii gribu taa, kaa es saku.
NEVAR tos channel un resource tik briivi meetaat pa funkcijaam.
Starpcitu, kur tev resource pazuda?
NEVAR un ar to viss pateikts. Labi, beigsim, citaadi man jau paliek neerti...
P.S. Un vispaar, Bubu, ko jaunu Elwmans pateica? Vinsh paraadija to, ko es jau zinu. Funkcijaa main() samestas visas fiichas, diemzheel taas nevar piesleegties nedz void Demo::Key (darbibas ar keyboard), nedz void Demo::Render() u.t.t. Bet briivi tos channel un resource defineet arii nevar. Kaadu dienu paskatiishu tavu variantu un tad zinjoshu, viss.
_________________
Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday
Back to top
View user's profile
elvman
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 09 Apr 2003
Posts: 1278
Location: Kuldiga

PostPosted: Tue Jul 25, 2006 11:51 am    Post subject:

Taaa...Mekleejam uz klaviatuuras podzinju "Ignore EDDY's posts".Atradu!Nospiezham.

P.S. Tev censhas paliidzeet,bet tu pats nesaproti,ko gribi.Te jau vairs runa neiet par FMOD,bet par elementaaru klashu programmeeshanu.IEMAACIES PROGRAMMEET!!!
_________________
long time; /* know C */
Back to top
View user's profile Visit poster's website
EDDY



Joined: 07 Oct 2005
Posts: 1610
Location: Dzimtā zeme, Latvija

PostPosted: Tue Jul 25, 2006 12:16 pm    Post subject:

Tuuliit samekleesim pogu - Unignore all dummies. Atradu! Spiest?
Laikam jau nee...
Es vairs neatkartoshu, ko gribu, jo dazhkaart paskaidrot ir grutak, nekaa pasham izrubiit.
Damit....
_________________
Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday
Back to top
View user's profile
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Tue Jul 25, 2006 2:45 pm    Post subject:

Lūdzu tava friend klase:
Code:
class FMOD_Ubertruber
{
friend class Demo;
};


Quote:
NEVAR tos channel un resource tik briivi meetaat pa funkcijaam.

Saderam ka var? Vot saderam. Uz vienalga ko vai kādu summu. Saderam, a?
Back to top
View user's profile Send e-mail
EDDY



Joined: 07 Oct 2005
Posts: 1610
Location: Dzimtā zeme, Latvija

PostPosted: Tue Jul 25, 2006 2:53 pm    Post subject:

Sadereet ar tevi profinj buutu tiiraa pashnaaviba no manas puses. Confused
Pag, naakoshnedeel pirmdien doshu atbildi, tagad nevaru tai visaa iedzilinaties.
P.S. Offtopics, bet vai nevari paskaidrot, kas ir delegaats un funkciju inkapsulaacija? Razz
_________________
Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday
Back to top
View user's profile
anggelus



Joined: 23 Feb 2005
Posts: 383
Location: Rīga (LV)

PostPosted: Tue Jul 25, 2006 11:12 pm    Post subject:

Es ieteiktu aiziet EDDY uz tuvāko 636 veikalu un iegādāties kādu grāmatu no sērijas "C/C++ dlja chajnikov"vai "viuchi C/C++ sam za 24 chasa" :)

p.s. sorry neprotu ar krievu burtiem rakstīt Smile
_________________
No comprendo lo que dice.
Back to top
View user's profile Send e-mail
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Tue Jul 25, 2006 11:43 pm    Post subject:

deleģēt nozīmē to pašu ko vien burtiski. Tb atdot savu darbu citam. Ja tev piemēram ir klase A, kas dara daudz darba, un tu to gribi sadalīt sīkākās klasēs B un C, taču saglabājot to pašu A interfeisu, tad A klasei tu vari pielikt pointerus (vai pašus objektus) uz B un C objektiem un visas klases A funkciju darbu deleģēt B un C klasēm:
Code:
void A::blah() { b->blah(); }
void A::xxx() { c->xxx(); }

Tas ir tā - vienkāršā piemērā. Sarežģītākā protams tas viss var būt iekš daudziem if/for..
http://en.wikipedia.org/wiki/Delegation_%28programming%29

Funkciju inkapsulācīja īsti nezinu kas ir, tb kādā kontekstā par to prasi. Bet vispārīgi OO programmēšanā inkapsulācija nozīmē slēpt algoritmu/darbības kā klase darbojās ar saviem datiem. Parasti tas nozīmē salikt pēc iespējas vairāk visu no public redzamības uz private. Tb ka tu tikai tiec klāt fiksētam interfeisam, kurš zin kā klase iekšienē rīkojas ar datiem, bet no ārpuses to nezin.

Ja tevi sāk interesēt vārdi "delegation" un "encapsulation", tad iesaku sākt lasīt lietas, kuru nosaukumos ir "design patterns", piemēram: (pirms tam, protams izlasot anggelus ieteiktās grāmatas)
http://en.wikipedia.org/wiki/Design_Patterns
http://c2.com/cgi/wiki?HistoryOfPatterns (šis wiki vispār ir must read)
http://c2.com/cgi/wiki?SoftwareDesignPatternsIndex
http://home.earthlink.net/~huston2/dp/patterns.html
kā arī grāmatas..
Back to top
View user's profile Send e-mail
Display posts from previous:   
dev.gamez.lv Forum Index -> Skaņa un mūzika All times are GMT + 2 Hours
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group