Résumé des problèmes rencontrés par LayaAir dans le développement du domaine de données ouvertes du mini-jeu WeChat

Il est très pratique de développer des jeux WeChat avec LayaAir. Cependant, afin d'empêcher les développeurs de collecter des informations sur les amis des joueurs, WeChat a créé un domaine de données ouvert OpenDataContext pour fournir des fonctions d'amis limitées. Le domaine de données ouvertes de WeChat peut être compris comme un environnement de programme castré. Dans le domaine, les développeurs ne peuvent pas appeler les fonctions du système de fichiers et il n'y a pas de fonction de mise en réseau. Les données d'amis ne peuvent être obtenues que via l'API correspondante fournie par WeChat, puis dessinées sur un shardeCanvas.Le domaine principal affiche les informations d'amis du joueur via ce canevas partagé.

Introduction à la chaîne de relations d'amis WeChat : https://developers.weixin.qq.com/minigame/dev/tutorial/open-ability/open-data.html

Comment LayaAir développe des chaînes d'amis :  https://ask.layabox.com/question/15086

 

Lorsque vous utilisez LayaAir pour développer des fonctions d'amis et de classement, de nombreux pièges doivent être pris en compte.

1. Le sous-domaine ne peut pas afficher les ressources de l'atlas dans le domaine principal.     

    Le domaine principal et le sous-domaine doivent charger l'atlas pour s'afficher correctement. Écoutez le message du domaine principal. Lorsque le domaine principal charge l'atlas, il enverra un message message.isLoad='filedata', n'exécutez que MiniFileMgr.ziyuFileData[message.url] = message.data; cette ligne de code, le sous-domaine pour afficher l'image correctement. (Lorsque vous écrivez le code de surveillance, assurez-vous de l'écrire correctement. Les données du fichier sont toutes en minuscules. Je n'ai pas porté de jugement car j'ai mis une lettre en majuscule. L'image ne peut pas être affichée pendant longtemps)

if(MiniAdpter.isZiYu && MiniAdpter.isPosMsgYu)
		{
			__JS__('wx').onMessage(function(message:Object):void{
				trace(message);
				if(message['isLoad'] == "filedata")
				{
					MiniFileMgr.ziyuFileData[message.url] = message.data;//文本数据
				}

2. Lors de l'utilisation de la fonction de défilement du composant Liste dans le sous-domaine, une erreur sera signalée. Nous définissons le vScrollBarSkin ou le hScrollBarSkin de la liste sur ''" pour rendre la liste déroulante, mais une erreur sera signalée dans le sous-domaine. C'est parce que mon moteur LayaAir est relativement ancien (version 1.17), et il doit être dans le Classe image du sous-domaine , changez le code :

public function set skin( value:String):void

{

    if( value=="''" || value == '""')

    {

        this.source = null;

        return;

    }

3. L'erreur signalée par le sous-domaine bitmap._addReference() est également due au fait que la version est trop ancienne et doit être mise à jour vers le dernier moteur. Ou ajoutez manuellement un jugement pour juger si le bitmap._addReference est nul

 

4. La réponse de la souris dans le sous-domaine est décalée et le bouton ne peut pas être cliqué. Nous affichons généralement le sous-domaine sur un conteneur de sprites, mais le système de coordonnées du sous-domaine est également calculé à partir du coin supérieur gauche de l'écran. Il faut renouveler une Matrix et réinitialiser le Laya.stage._canvasTransform du sous-domaine

Je suppose que tu aimes

Origine blog.csdn.net/tianhai110/article/details/82693637
conseillé
Classement