本文整理汇总了C++中Music::SetLoop方法的典型用法代码示例。如果您正苦于以下问题:C++ Music::SetLoop方法的具体用法?C++ Music::SetLoop怎么用?C++ Music::SetLoop使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Music
的用法示例。
在下文中一共展示了Music::SetLoop方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: boucleMaitresse
// gère l'affichage graphique et la gestion évènementielle
void RenduGraphique::boucleMaitresse() {
if(affichage)
std::cout << "INI: \tBoucle Maîtresse Lancée" <<std::endl<<std::endl;
// intialisations
int inter = 0; // variable intermédiaire entière
std::string stmp(""); // variable intermédiaire de type string
bool interbool = false; // variable intermédiaire de type bool
bool pause = false; // vrai quand le programme est en pause
bool suivreAstre = false; // vrai quand on suit l'astre sélectionné
const Input& input = app->GetInput(); // contient les stattus des touches et boutons en temps réel.
// variables relatives à la sourie
bool sourisDroit = false, sourisGauche = false; // vrai si appuyé
bool boiteInfoBougee = false; // vrai quand la BoiteInfoAstre est ferrée
Vector2f posSourie(0,0); // coorodnnées de la sourie par rapport
// au dernier endroit cliqué droit
// Zoom
double calcZoom; // utilisée pour calculer les zooms
// Musique
int statMsq = 1; // mit à faux si la musique n'est pas utilisable
Music msq;
if(NAV_ActiverMusique) { // si musique autorisée
if(!msq.OpenFromFile(musique)) {
FATAL_ERROR("INI: Le fichier de musique n'a pas été ouvert", false);
statMsq = 0; // on ne doit pas agir sur la musique !
} else {
msq.Play();
msq.SetLoop(true); // on joue la musique en boucle
}
} else
statMsq = 0;
Event event; // évènement
// boucle évènementielle
while(app->IsOpened()) {
// si on est pas en pause, on passe au dt suivant !
directive = "SOURIS: deplacer ou selectionner, M: Arreter la musique, A: modifier astre selectionne, ESPACE: changer referentiel, ESC: quitter";
if(!pause) {
U->passagedt();
// si un astre est suivis (on suit la sélection), avec sécurité
if(suivreAstre && selection != NULL) {
vue->Move(selection->GetVitesse().x,selection->GetVitesse().y);
// si on suit un astre, on indique bien ce mode !
etat[ETAT_GENERAL] = 'R';
}
else
etat[ETAT_GENERAL] = 'N';
}
// gestion évènementielle
while(app->GetEvent(event)) {
if(event.Type == Event::Closed)
app->Close();
//===================
// TOUCHES DU CLAVIER
else if(event.Type == Event::KeyPressed) {
switch(event.Key.Code) {
case Key::Escape: // fin du programme (avec confirmation)
directive = "Quitter ? Oui: Escape, Non: Autre touche";
if(confirmationQuitter(suivreAstre)) app->Close();
break;
case Key::Tab: // on saute le nombre indiqué par le tampon, ou la constante utilisateur NAV_PasTab
inter = str2num(tampon);
tampon = ""; // on vide le tampon
// si rien n'est rentré
if(inter == 0)
inter = NAV_PasTab;
for(int i = 0; i < inter; i++)
U->passagedt();
if(affichage)
std::cout<<inter<<" dt ont été sautés"<<std::endl;
break;
case Key::Return: // on reviens au zoom normal
// étant donné les problèmes d'imprécision, on préfère une technique admettant une petite incertitude.
while (fabs(zoomActuel - 1) > 0.09) {
if(zoomActuel < 1) {
zoomActuel *= NAV_CoefficientMolette;
vue->Zoom(NAV_CoefficientMolette);
}
else if(zoomActuel > 1) {
zoomActuel /= NAV_CoefficientMolette;
vue->Zoom(1/NAV_CoefficientMolette);
}
}
// de plus, on recentre la fenêtre sur l'origine
vue->SetCenter(0,0);
break;
case Key::Space: // suivre l'astre sélectionné
suivreAstre = false;
// si un astre est sélectionné
if(selection != NULL)
suivreAstre = true; // on suit l'astre sélect.
break;
case Key::Back: // on retire la dernière case du tampon
if(tampon.size() == 0) break;
stmp = tampon;
tampon = "";
for(unsigned int i = 0; i < stmp.size()-1; i++) {
tampon += stmp[i];
//.........这里部分代码省略.........
示例2: Run
int Game::Run(RenderWindow &win, VideoMode &vMode)
{
Music m;
SoundBuffer playerShootBuffer;
SoundBuffer meteorBuffer;
meteorBuffer.LoadFromFile("..\\Resources\\meteorexplosion.ogg");
playerShootBuffer.LoadFromFile("..\\Resources\\playerShoot.ogg");
Sound playerSound;
Sound meteorSound;
meteorSound.SetBuffer(meteorBuffer);
playerSound.SetBuffer(playerShootBuffer);
playerSound.SetLoop(false);
meteorSound.SetLoop(false);
m.OpenFromFile("..\\Resources\\asteroid.ogg");
m.SetLoop(true);
m.SetVolume(100);
PlayerShip ship(player_ship, 2, vMode);
EnemyShip enemy(enemy_ship, vMode);
Collision col;
Event events;
Image bg1;
Image bg2;
Image bg3;
bg1.LoadFromFile("..\\Resources\\bg.jpg");
Image stars;
string abc = "..\\Resources\\star.png";
stars.LoadFromFile(abc);
Sprite sp(bg1);
Sprite sp2(bg1);
Sprite sp3(bg1);
Sprite spStar[10];
Clock clock;
srand((unsigned)time(0));
for(int i = 0; i<10; i++)
{
spStar[i].SetImage(stars);
//spStar[i].SetPosition
}
spStar[0].SetPosition(0,100);
spStar[1].SetPosition(70,200);
spStar[2].SetPosition(200,300);
spStar[3].SetPosition(320,400);
spStar[4].SetPosition(460,500);
spStar[5].SetPosition(260,300);
spStar[6].SetPosition(160,400);
spStar[7].SetPosition(400,200);
spStar[8].SetPosition(760,100);
spStar[9].SetPosition(800,600);
int lowestx, highestx, lowesty, highesty, rangex, rangey, random_integerx, random_integery;
float time1 = 0;
float time2 = 0;
bool start = false;
//Sprite spStar1(stars);
//spStar1.SetPosition(spStar.GetPosition().x, spStar.GetPosition().y - spStar.GetSize().y);
sp.Resize((float)vMode.Width, (float)vMode.Height);
sp2.Resize((float)vMode.Width, (float)vMode.Height);
sp2.SetPosition(sp.GetPosition().x, sp.GetPosition().y - sp.GetSize().y);
sp3.SetPosition(sp2.GetPosition().x, sp2.GetPosition().y - sp2.GetSize().y);
//spStar.Resize((float)vMode.Width, (float)vMode.Height);
bool key = false;
bool down = false;
Bullet *bul;
Meteor* met[METEORCOUNT];
for(int i = 0; i<METEORCOUNT; i++)
{
met[i] = new Meteor(meteor, vMode);
}
met[0]->SetPosition(200,-400);
met[1]->SetPosition(420,-200);
met[2]->SetPosition(720,-400);
met[3]->SetPosition(520,-600);
met[4]->SetPosition(320,-400);
/*met[5]->SetPosition(620,-400);
met[6]->SetPosition(100,-400);
*/
int bulletCount = 0;
vector<Bullet*> bulletVector;
vector<Meteor*> meteorVector;
for(int i = 0; i<METEORCOUNT; i++)
{
meteorVector.push_back(met[i]);
}
bool fired = false;
bool pressed = false;
int count;
bool change = false;
//win.UseVerticalSync(true);
//win.SetFramerateLimit(60);
int type = pistol;
Image sunImg;
sunImg.LoadFromFile("..\\Resources\\Sun.png");
//.........这里部分代码省略.........