Superposer des images

Forum de développements privés.

Modérateur: Equipe

Règles du forum
A lire impérativement sur notre page : Règlement

Superposer des images

Messagepar Alcazarfr » 22 Fév 2005 à 14:16

Voila, j'ai remarqué que l'on répondait plus vite, et souvent mieux (l'élite? ) ici que sur le forum aide au developpement, alors voila, je post ici:

J'aimerai pouvoir superposer plusieurs images sur une seules.

J'ai trouvé ceci:

Code: Tout sélectionner
<LAYER> 
et
Code: Tout sélectionner
La position absolue

(source)

C'est bien sympa, mais dans mon cas - Monopoly BB - il faudrait superposer les pions qui apparaissent en ce moment en haut des cases (ex: http://phpbbpower.free.fr/forum/monopol ... e.php?pa=1 ) sur les cartes (les bordures de couleurs en haut)

( L'affichage du plateau est régis par 2 boucles (il y a deux sens...) )

Avec
Code: Tout sélectionner
<LAYER> 
ou
Code: Tout sélectionner
La position absolue
, croyez vous posible de superposer les pions sur les cartes?

De même, (peut être plus simple aussi), je cherche à superposer les petites maisons sur les cartes
:?

Merci

Pendant que j'y suis, je cherche ça aussi
[url=http://www.opera.com]Image
[/url]PhpBB-Power : Base de Données de mods et de tutoriaux, astuces pour personnaliser et optimiser phpBB, support et forums.
Avatar de l’utilisateur
Alcazarfr
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 2664
Enregistré le: 07 Mar 2004 à 20:22

Messagepar Oyo » 22 Fév 2005 à 16:25

tu a la solution des div ou des span pour la superpossition de 2 images ou css aussi
Ancien Administrateur de phpBB-fr - R.I.P Oyo 2006~2009

PrestaShop | PrestaStore
Avatar de l’utilisateur
Oyo
Inoubliable administrateur
 
Messages: 15306
Enregistré le: 12 Fév 2003 à 20:02
Localisation: Paris

Messagepar Alcazarfr » 22 Fév 2005 à 16:50

cela marchera dans une boucle?
[url=http://www.opera.com]Image
[/url]PhpBB-Power : Base de Données de mods et de tutoriaux, astuces pour personnaliser et optimiser phpBB, support et forums.
Avatar de l’utilisateur
Alcazarfr
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 2664
Enregistré le: 07 Mar 2004 à 20:22

Messagepar Dr DLP » 23 Fév 2005 à 10:05

C'est à dire?
Avatar de l’utilisateur
Dr DLP
Floodeur universel
Floodeur universel
 
Messages: 8411
Enregistré le: 05 Mar 2003 à 23:49
Localisation: Var ( 83 )

Messagepar Oyo » 23 Fév 2005 à 11:42

normalement pas de probleme tout depend comment tu faits ton truc.

normalement ton plateau est fixe ton tu poura le mettre en background ou en css et les autres tu pouras jouer avec les div et les span

mais je suis assez d'accord avec Doc c'est pas super comprensible ta réponse
Ancien Administrateur de phpBB-fr - R.I.P Oyo 2006~2009

PrestaShop | PrestaStore
Avatar de l’utilisateur
Oyo
Inoubliable administrateur
 
Messages: 15306
Enregistré le: 12 Fév 2003 à 20:02
Localisation: Paris

Messagepar Alcazarfr » 23 Fév 2005 à 12:03

Voila (code extrait de la prochaine beta):

Code: Tout sélectionner
$sql = "SELECT mp.plateau_case, mp.nom_case, mp.prix, mp.amenagement, mp.proprietaire
	FROM " . MONOPOLY_PARTIE_PLATEAU_TABLE . " mp
	WHERE mp.partie_id = $id
		AND mp.plateau_case < 20
	ORDER BY mp.plateau_case DESC";
if( !$result = $db->sql_query($sql))
{
	message_die(GENERAL_ERROR, 'Erreur', '', __LINE__, __FILE__, $sql);
}
if ( $rowplateau = $db->sql_fetchrow($result) )
{
	$i = 0;
	do
	{
		$amenagement = $rowplateau['amenagement'];
		$plateau_case = $rowplateau['plateau_case'];
		$prix = $rowplateau['prix'];
		$prix_case = $prix . ' ' . $symbole . '<br / >';
		$proprietaire = $rowplateau['proprietaire'];
		$nom_case = $rowplateau['nom_case'];

		$sql = "SELECT u.username
		FROM " . USERS_TABLE . " u, " . MONOPOLY_PARTIE_JOUEUR_TABLE . " mj
		WHERE mj.id_partie = $id
			AND mj.numero_joueur = $proprietaire
			AND u.user_id = mj.id_joueur";
		if( !$resultt = $db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Erreur?', '', __LINE__, __FILE__, $sql);
		}

		$rowplateaup = $db->sql_fetchrow($resultt);
		$proprietaire_nom = $rowplateaup['username'];
		$nom_case = str_replace("'", "\'", $nom_case);

		if ( $i > -1 && $i < 9 )
		{
			$pion = '';

			$sql = "SELECT mj.id_joueur, mj.numero_joueur, mj.pion, u.username
			FROM " . MONOPOLY_PARTIE_JOUEUR_TABLE . " mj, " . USERS_TABLE . " u
				WHERE mj.id_partie = $id
					AND mj.lieu = $plateau_case
					AND u.user_id = mj.id_joueur";
			if( !$resultat = $db->sql_query($sql))
			{
				message_die(GENERAL_ERROR, 'Erreur', '', __LINE__, __FILE__, $sql);
			}
			while( $rowat = $db->sql_fetchrow($resultat) )
			{
				$pion_joueur = $rowat['pion'];
				$nom_pion = $rowat['username'];

				$pion = $pion . '<img src="./monopolybb/templates/images/j' . $pion_joueur . '.gif" title='.$nom_pion.'>';
			}
		           $template->assign_block_vars('partie_commencee.plateau_2', array(
				'CASE' => $plateau_case,
				'NOM_CASE' => $nom_case,
				'PRIX_CASE' => $prix_case,
				'NOM_PION' => $nom_pion,
				'PION' => $pion,
				'AMENAGEMENT_CASE' => $amenagement_af,
				'PROPRIETAIRE' => $proprietaire)
			);
		}
		$i++;
	}
	while ( $rowplateau = $db->sql_fetchrow($result) );
	$db->sql_freeresult($result);
}


[ Pour simplifier ici, j'ai enlevé une partie du code (inutile ici) qui gérait les variables et un autre répétitif: ce code gere l'affichage de la partie gauche du plateau. ]

Explication rapide:

- La premier requetes prend les infos sur les cases (nom, prix, proprietaire (id dans la partie ) etc.
- La deuxième selectionne le nom du proprietaire si il y a
- La troisième tire les infos sur les pions ( elle verfifie si un joueur ou plusieurs sont sur la case)


Coté tpl:

Code: Tout sélectionner
<tr>
   <td class="row1" align="center" valign="middle" width="10%"><table cellpadding="0" cellspacing="0" border="0" >
   <!-- BEGIN plateau_2 -->
<tr>
<td class="row1" align="center" valign="middle" width="10%" ><img src="./monopolybb/templates/images/{IMAGE_REPERTOIRE}/{partie_commencee.plateau_2.CASE}.gif" onMouseOver="poplink('<b>{partie_commencee.plateau_2.NOM_CASE}</b><br />{partie_commencee.plateau_2.PRIX_CASE}{partie_commencee.plateau_2.PROPRIETAIRE}{partie_commencee.plateau_2.AMENAGEMENT_CASE}');" onmouseout="killlink()"/></td>
<td class="row1" align="center" valign="middle" width="2" >{partie_commencee.plateau_2.PION}</td>
</tr>
   <!-- END plateau_2 -->
</table></td>

->
Code: Tout sélectionner
<td class="row1" align="center" valign="middle" width="10%" ><img src="./monopolybb/templates/images/{IMAGE_REPERTOIRE}/{partie_commencee.plateau_2.CASE}.gif" onMouseOver="poplink('<b>{partie_commencee.plateau_2.NOM_CASE}</b><br />{partie_commencee.plateau_2.PRIX_CASE}{partie_commencee.plateau_2.PROPRIETAIRE}{partie_commencee.plateau_2.AMENAGEMENT_CASE}');" onmouseout="killlink()"/></td>

Ca affiche l'image de la case (et l'infobulle)
Code: Tout sélectionner
<td class="row1" align="center" valign="middle" width="2" >{partie_commencee.plateau_2.PION}</td>

Affiche le pion s'il y en a, juste au dessus de la case (à droite ici de la case)

Pour vraiment le voir: http://phpbbpower.free.fr/forum/monopol ... e.php?pa=1

Regarder sur le plateau, sur la boulevard des renards, le pion orange.
Et bien, j'aimerai pouvoir le superposer sur la case :D

:?
[url=http://www.opera.com]Image
[/url]PhpBB-Power : Base de Données de mods et de tutoriaux, astuces pour personnaliser et optimiser phpBB, support et forums.
Avatar de l’utilisateur
Alcazarfr
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 2664
Enregistré le: 07 Mar 2004 à 20:22

Messagepar Alcazarfr » 25 Fév 2005 à 19:54

Euh... alors, j'ai "reussi" (... si on peut appeler ça une reussite) à faire ça:


Image

à l'aide du code:
Code: Tout sélectionner
   <td class="row1" align="center" valign="bottom" width="50%"><table cellpadding="0" cellspacing="0" border="0" >
<tr>
   <!-- BEGIN plateau_1 -->
   <td class="row1" align="center" valign="middle" width="10%"><table cellpadding="0" cellspacing="0" border="0" >
<tr>
   <td class="row1" align="center" valign="middle" width="10%" height="4"><p style="position: absolute;" >{partie_commencee.plateau_1.PION}</p></td>
</tr>
<tr>
   <td class="row1" align="center" valign="middle" width="10%" height="59"><img src="./monopolybb/templates/images/{IMAGE_REPERTOIRE}/{partie_commencee.plateau_1.CASE}.gif" onMouseOver="poplink('<b>{partie_commencee.plateau_1.NOM_CASE}</b><br />{partie_commencee.plateau_1.PRIX_CASE}{partie_commencee.plateau_1.PROPRIETAIRE}{partie_commencee.plateau_1.AMENAGEMENT_CASE}');" onmouseout="killlink()" /></td>
</tr>
</table></td>
   <!-- END plateau_1 -->
</tr>
</table></td>


2 choses:
- comment faire pour que les pions soient à la bonne case (... cf la postion de joueurs indiqué sur la capture d'ecran)
- et au centre de la case?

merci pour votre aide
[url=http://www.opera.com]Image
[/url]PhpBB-Power : Base de Données de mods et de tutoriaux, astuces pour personnaliser et optimiser phpBB, support et forums.
Avatar de l’utilisateur
Alcazarfr
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 2664
Enregistré le: 07 Mar 2004 à 20:22


Retourner vers Développements privés

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité